{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "hw12_domain_adaptation.ipynb",
      "provenance": [],
      "collapsed_sections": [],
      "toc_visible": true,
      "machine_shape": "hm",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/Iallen520/lhy_DL_Hw/blob/master/hw12_domain_adaptation.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "b5cFq_TgWlQ_",
        "colab_type": "text"
      },
      "source": [
        "# Homework 12 - Transfer Learning (Domain Adversarial Training)\n",
        "\n",
        "> Author: Arvin Liu (b05902127@ntu.edu.tw)\n",
        "\n",
        "若有任何問題，歡迎來信至助教信箱 ntu-ml-2020spring-ta@googlegroups.com"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "vNiZCGrIYKdR",
        "colab_type": "text"
      },
      "source": [
        "# Readme\n",
        "\n",
        "\n",
        "HW12的任務是Transfer Learning中的Domain Adversarial Training。\n",
        "\n",
        "<img src=\"https://i.imgur.com/iMVIxCH.png\" width=\"500px\">\n",
        "\n",
        "> 也就是左下角的那一塊。\n",
        "\n",
        "## Scenario and Why Domain Adversarial Training\n",
        "你現在有Source Data + label，其中Source Data和Target Data可能有點關係，所以你想要訓練一個model做在Source Data上並Predict在Target Data上。\n",
        "\n",
        "但這樣有什麼樣的問題? 相信大家學過Anomaly Detection就會知道，如果有data是在Source Data沒有出現過的(或稱Abnormal的)，那麼model大部分都會因為不熟悉這個data而可能亂做一發。 \n",
        "\n",
        "以下我們將model拆成Feature Extractor(上半部)和Classifier(下半部)來作例子:\n",
        "<img src=\"https://i.imgur.com/IL0PxCY.png\" width=\"500px\">\n",
        "\n",
        "整個Model在學習Source Data的時候，Feature Extrator因為看過很多次Source Data，所以所抽取出來的Feature可能就頗具意義，例如像圖上的藍色Distribution，已經將圖片分成各個Cluster，所以這個時候Classifier就可以依照這個Cluster去預測結果。\n",
        "\n",
        "但是在做Target Data的時候，Feature Extractor會沒看過這樣的Data，導致輸出的Target Feature可能不屬於在Source Feature Distribution上，這樣的Feature給Classifier預測結果顯然就不會做得好。\n",
        "\n",
        "## Domain Adversarial Training of Nerural Networks (DaNN)\n",
        "基於如此，是不是只要讓Soucre Data和Target Data經過Feature Extractor都在同個Distribution上，就會做得好了呢? 這就是DaNN的主要核心。\n",
        "\n",
        "<img src=\"https://i.imgur.com/vrOE5a6.png\" width=\"500px\">\n",
        "\n",
        "我們追加一個Domain Classifier，在學習的過程中，讓Domain Classifier去判斷經過Feature Extractor後的Feature是源自於哪個domain，讓Feature Extractor學習如何產生Feature以**騙過**Domain Classifier。 持久下來，通常Feature Extractor都會打贏Domain Classifier。(因為Domain Classifier的Input來自於Feature Extractor，而且對Feature Extractor來說Domain&Classification的任務並沒有衝突。)\n",
        "\n",
        "如此一來，我們就可以確信不管是哪一個Domain，Feature Extractor都會把它產生在同一個Feature Distribution上。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "3-qnUkspmap3",
        "colab_type": "text"
      },
      "source": [
        "# Data Introduce\n",
        "\n",
        "這次的任務是Source Data: 真實照片，Target Data: 手畫塗鴉。\n",
        "\n",
        "我們必須讓model看過真實照片以及標籤，嘗試去預測手畫塗鴉的標籤為何。\n",
        "\n",
        "資料位於[這裡](https://drive.google.com/open?id=16p0eoReFvKUq9meLKB7hGEVoDVl_7IaP)，以下的code分別為下載和觀看這次的資料大概長甚麼樣子。\n",
        "\n",
        "特別注意一點: **這次的source和target data的圖片都是平衡的，你們可以使用這個資訊做其他事情。**"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0_uO-ZSDoR6i",
        "colab_type": "code",
        "outputId": "18f1a1f9-5a11-4437-a94f-5b98114c7421",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 136
        }
      },
      "source": [
        "import matplotlib.pyplot as plt\n",
        "\n",
        "def no_axis_show(img, title='', cmap=None):\n",
        "  # imshow, 縮放模式為nearest。\n",
        "  fig = plt.imshow(img, interpolation='nearest', cmap=cmap)\n",
        "  # 不要顯示axis。\n",
        "  fig.axes.get_xaxis().set_visible(False)\n",
        "  fig.axes.get_yaxis().set_visible(False)\n",
        "  plt.title(title)\n",
        "\n",
        "titles = ['horse', 'bed', 'clock', 'apple', 'cat', 'plane', 'television', 'dog', 'dolphin', 'spider']\n",
        "plt.figure(figsize=(18, 18))\n",
        "for i in range(10):\n",
        "  plt.subplot(1, 10, i+1)\n",
        "  fig = no_axis_show(plt.imread(f'real_or_drawing/train_data/{i}/{500*i}.bmp'), title=titles[i])"
      ],
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": "<Figure size 1296x1296 with 10 Axes>",
            "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Created with matplotlib (https://matplotlib.org/) -->\n<svg height=\"118.136769pt\" version=\"1.1\" viewBox=\"0 0 1022.3 118.136769\" width=\"1022.3pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <defs>\n  <style type=\"text/css\">\n*{stroke-linecap:butt;stroke-linejoin:round;}\n  </style>\n </defs>\n <g id=\"figure_1\">\n  <g id=\"patch_1\">\n   <path d=\"M 0 118.136769 \nL 1022.3 118.136769 \nL 1022.3 -0 \nL 0 -0 \nz\n\" style=\"fill:none;\"/>\n  </g>\n  <g id=\"axes_1\">\n   <g id=\"patch_2\">\n    <path d=\"M 10.7 107.436769 \nL 95.818644 107.436769 \nL 95.818644 22.318125 \nL 10.7 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#p97d50f8853)\">\n    <image height=\"86\" id=\"image3e91063c23\" transform=\"scale(1 -1)translate(0 -86)\" width=\"86\" x=\"10.7\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.436769\"/>\n   </g>\n   <g id=\"patch_3\">\n    <path d=\"M 10.7 107.436769 \nL 10.7 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_4\">\n    <path d=\"M 95.818644 107.436769 \nL 95.818644 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_5\">\n    <path d=\"M 10.7 107.436769 \nL 95.818644 107.436769 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_6\">\n    <path d=\"M 10.7 22.318125 \nL 95.818644 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_1\">\n    <!-- horse -->\n    <defs>\n     <path d=\"M 54.890625 33.015625 \nL 54.890625 0 \nL 45.90625 0 \nL 45.90625 32.71875 \nQ 45.90625 40.484375 42.875 44.328125 \nQ 39.84375 48.1875 33.796875 48.1875 \nQ 26.515625 48.1875 22.3125 43.546875 \nQ 18.109375 38.921875 18.109375 30.90625 \nL 18.109375 0 \nL 9.078125 0 \nL 9.078125 75.984375 \nL 18.109375 75.984375 \nL 18.109375 46.1875 \nQ 21.34375 51.125 25.703125 53.5625 \nQ 30.078125 56 35.796875 56 \nQ 45.21875 56 50.046875 50.171875 \nQ 54.890625 44.34375 54.890625 33.015625 \nz\n\" id=\"DejaVuSans-104\"/>\n     <path d=\"M 30.609375 48.390625 \nQ 23.390625 48.390625 19.1875 42.75 \nQ 14.984375 37.109375 14.984375 27.296875 \nQ 14.984375 17.484375 19.15625 11.84375 \nQ 23.34375 6.203125 30.609375 6.203125 \nQ 37.796875 6.203125 41.984375 11.859375 \nQ 46.1875 17.53125 46.1875 27.296875 \nQ 46.1875 37.015625 41.984375 42.703125 \nQ 37.796875 48.390625 30.609375 48.390625 \nz\nM 30.609375 56 \nQ 42.328125 56 49.015625 48.375 \nQ 55.71875 40.765625 55.71875 27.296875 \nQ 55.71875 13.875 49.015625 6.21875 \nQ 42.328125 -1.421875 30.609375 -1.421875 \nQ 18.84375 -1.421875 12.171875 6.21875 \nQ 5.515625 13.875 5.515625 27.296875 \nQ 5.515625 40.765625 12.171875 48.375 \nQ 18.84375 56 30.609375 56 \nz\n\" id=\"DejaVuSans-111\"/>\n     <path d=\"M 41.109375 46.296875 \nQ 39.59375 47.171875 37.8125 47.578125 \nQ 36.03125 48 33.890625 48 \nQ 26.265625 48 22.1875 43.046875 \nQ 18.109375 38.09375 18.109375 28.8125 \nL 18.109375 0 \nL 9.078125 0 \nL 9.078125 54.6875 \nL 18.109375 54.6875 \nL 18.109375 46.1875 \nQ 20.953125 51.171875 25.484375 53.578125 \nQ 30.03125 56 36.53125 56 \nQ 37.453125 56 38.578125 55.875 \nQ 39.703125 55.765625 41.0625 55.515625 \nz\n\" id=\"DejaVuSans-114\"/>\n     <path d=\"M 44.28125 53.078125 \nL 44.28125 44.578125 \nQ 40.484375 46.53125 36.375 47.5 \nQ 32.28125 48.484375 27.875 48.484375 \nQ 21.1875 48.484375 17.84375 46.4375 \nQ 14.5 44.390625 14.5 40.28125 \nQ 14.5 37.15625 16.890625 35.375 \nQ 19.28125 33.59375 26.515625 31.984375 \nL 29.59375 31.296875 \nQ 39.15625 29.25 43.1875 25.515625 \nQ 47.21875 21.78125 47.21875 15.09375 \nQ 47.21875 7.46875 41.1875 3.015625 \nQ 35.15625 -1.421875 24.609375 -1.421875 \nQ 20.21875 -1.421875 15.453125 -0.5625 \nQ 10.6875 0.296875 5.421875 2 \nL 5.421875 11.28125 \nQ 10.40625 8.6875 15.234375 7.390625 \nQ 20.0625 6.109375 24.8125 6.109375 \nQ 31.15625 6.109375 34.5625 8.28125 \nQ 37.984375 10.453125 37.984375 14.40625 \nQ 37.984375 18.0625 35.515625 20.015625 \nQ 33.0625 21.96875 24.703125 23.78125 \nL 21.578125 24.515625 \nQ 13.234375 26.265625 9.515625 29.90625 \nQ 5.8125 33.546875 5.8125 39.890625 \nQ 5.8125 47.609375 11.28125 51.796875 \nQ 16.75 56 26.8125 56 \nQ 31.78125 56 36.171875 55.265625 \nQ 40.578125 54.546875 44.28125 53.078125 \nz\n\" id=\"DejaVuSans-115\"/>\n     <path d=\"M 56.203125 29.59375 \nL 56.203125 25.203125 \nL 14.890625 25.203125 \nQ 15.484375 15.921875 20.484375 11.0625 \nQ 25.484375 6.203125 34.421875 6.203125 \nQ 39.59375 6.203125 44.453125 7.46875 \nQ 49.3125 8.734375 54.109375 11.28125 \nL 54.109375 2.78125 \nQ 49.265625 0.734375 44.1875 -0.34375 \nQ 39.109375 -1.421875 33.890625 -1.421875 \nQ 20.796875 -1.421875 13.15625 6.1875 \nQ 5.515625 13.8125 5.515625 26.8125 \nQ 5.515625 40.234375 12.765625 48.109375 \nQ 20.015625 56 32.328125 56 \nQ 43.359375 56 49.78125 48.890625 \nQ 56.203125 41.796875 56.203125 29.59375 \nz\nM 47.21875 32.234375 \nQ 47.125 39.59375 43.09375 43.984375 \nQ 39.0625 48.390625 32.421875 48.390625 \nQ 24.90625 48.390625 20.390625 44.140625 \nQ 15.875 39.890625 15.1875 32.171875 \nz\n\" id=\"DejaVuSans-101\"/>\n    </defs>\n    <g transform=\"translate(36.50151 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-104\"/>\n     <use x=\"63.378906\" xlink:href=\"#DejaVuSans-111\"/>\n     <use x=\"124.560547\" xlink:href=\"#DejaVuSans-114\"/>\n     <use x=\"165.673828\" xlink:href=\"#DejaVuSans-115\"/>\n     <use x=\"217.773438\" xlink:href=\"#DejaVuSans-101\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_2\">\n   <g id=\"patch_7\">\n    <path d=\"M 112.842373 107.436769 \nL 197.961017 107.436769 \nL 197.961017 22.318125 \nL 112.842373 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#pc87a8a4d7f)\">\n    <image height=\"86\" id=\"imageff78b8273b\" transform=\"scale(1 -1)translate(0 -86)\" width=\"86\" x=\"112.842373\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.436769\"/>\n   </g>\n   <g id=\"patch_8\">\n    <path d=\"M 112.842373 107.436769 \nL 112.842373 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_9\">\n    <path d=\"M 197.961017 107.436769 \nL 197.961017 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_10\">\n    <path d=\"M 112.842373 107.436769 \nL 197.961017 107.436769 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_11\">\n    <path d=\"M 112.842373 22.318125 \nL 197.961017 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_2\">\n    <!-- bed -->\n    <defs>\n     <path d=\"M 48.6875 27.296875 \nQ 48.6875 37.203125 44.609375 42.84375 \nQ 40.53125 48.484375 33.40625 48.484375 \nQ 26.265625 48.484375 22.1875 42.84375 \nQ 18.109375 37.203125 18.109375 27.296875 \nQ 18.109375 17.390625 22.1875 11.75 \nQ 26.265625 6.109375 33.40625 6.109375 \nQ 40.53125 6.109375 44.609375 11.75 \nQ 48.6875 17.390625 48.6875 27.296875 \nz\nM 18.109375 46.390625 \nQ 20.953125 51.265625 25.265625 53.625 \nQ 29.59375 56 35.59375 56 \nQ 45.5625 56 51.78125 48.09375 \nQ 58.015625 40.1875 58.015625 27.296875 \nQ 58.015625 14.40625 51.78125 6.484375 \nQ 45.5625 -1.421875 35.59375 -1.421875 \nQ 29.59375 -1.421875 25.265625 0.953125 \nQ 20.953125 3.328125 18.109375 8.203125 \nL 18.109375 0 \nL 9.078125 0 \nL 9.078125 75.984375 \nL 18.109375 75.984375 \nz\n\" id=\"DejaVuSans-98\"/>\n     <path d=\"M 45.40625 46.390625 \nL 45.40625 75.984375 \nL 54.390625 75.984375 \nL 54.390625 0 \nL 45.40625 0 \nL 45.40625 8.203125 \nQ 42.578125 3.328125 38.25 0.953125 \nQ 33.9375 -1.421875 27.875 -1.421875 \nQ 17.96875 -1.421875 11.734375 6.484375 \nQ 5.515625 14.40625 5.515625 27.296875 \nQ 5.515625 40.1875 11.734375 48.09375 \nQ 17.96875 56 27.875 56 \nQ 33.9375 56 38.25 53.625 \nQ 42.578125 51.265625 45.40625 46.390625 \nz\nM 14.796875 27.296875 \nQ 14.796875 17.390625 18.875 11.75 \nQ 22.953125 6.109375 30.078125 6.109375 \nQ 37.203125 6.109375 41.296875 11.75 \nQ 45.40625 17.390625 45.40625 27.296875 \nQ 45.40625 37.203125 41.296875 42.84375 \nQ 37.203125 48.484375 30.078125 48.484375 \nQ 22.953125 48.484375 18.875 42.84375 \nQ 14.796875 37.203125 14.796875 27.296875 \nz\n\" id=\"DejaVuSans-100\"/>\n    </defs>\n    <g transform=\"translate(144.091695 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-98\"/>\n     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-101\"/>\n     <use x=\"125\" xlink:href=\"#DejaVuSans-100\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_3\">\n   <g id=\"patch_12\">\n    <path d=\"M 214.984746 107.436769 \nL 300.10339 107.436769 \nL 300.10339 22.318125 \nL 214.984746 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#pf0e9a41c1f)\">\n    <image height=\"86\" id=\"imageb9718f7c69\" transform=\"scale(1 -1)translate(0 -86)\" width=\"86\" x=\"214.984746\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.436769\"/>\n   </g>\n   <g id=\"patch_13\">\n    <path d=\"M 214.984746 107.436769 \nL 214.984746 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_14\">\n    <path d=\"M 300.10339 107.436769 \nL 300.10339 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_15\">\n    <path d=\"M 214.984746 107.436769 \nL 300.10339 107.436769 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_16\">\n    <path d=\"M 214.984746 22.318125 \nL 300.10339 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_3\">\n    <!-- clock -->\n    <defs>\n     <path d=\"M 48.78125 52.59375 \nL 48.78125 44.1875 \nQ 44.96875 46.296875 41.140625 47.34375 \nQ 37.3125 48.390625 33.40625 48.390625 \nQ 24.65625 48.390625 19.8125 42.84375 \nQ 14.984375 37.3125 14.984375 27.296875 \nQ 14.984375 17.28125 19.8125 11.734375 \nQ 24.65625 6.203125 33.40625 6.203125 \nQ 37.3125 6.203125 41.140625 7.25 \nQ 44.96875 8.296875 48.78125 10.40625 \nL 48.78125 2.09375 \nQ 45.015625 0.34375 40.984375 -0.53125 \nQ 36.96875 -1.421875 32.421875 -1.421875 \nQ 20.0625 -1.421875 12.78125 6.34375 \nQ 5.515625 14.109375 5.515625 27.296875 \nQ 5.515625 40.671875 12.859375 48.328125 \nQ 20.21875 56 33.015625 56 \nQ 37.15625 56 41.109375 55.140625 \nQ 45.0625 54.296875 48.78125 52.59375 \nz\n\" id=\"DejaVuSans-99\"/>\n     <path d=\"M 9.421875 75.984375 \nL 18.40625 75.984375 \nL 18.40625 0 \nL 9.421875 0 \nz\n\" id=\"DejaVuSans-108\"/>\n     <path d=\"M 9.078125 75.984375 \nL 18.109375 75.984375 \nL 18.109375 31.109375 \nL 44.921875 54.6875 \nL 56.390625 54.6875 \nL 27.390625 29.109375 \nL 57.625 0 \nL 45.90625 0 \nL 18.109375 26.703125 \nL 18.109375 0 \nL 9.078125 0 \nz\n\" id=\"DejaVuSans-107\"/>\n    </defs>\n    <g transform=\"translate(242.133443 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-99\"/>\n     <use x=\"54.980469\" xlink:href=\"#DejaVuSans-108\"/>\n     <use x=\"82.763672\" xlink:href=\"#DejaVuSans-111\"/>\n     <use x=\"143.945312\" xlink:href=\"#DejaVuSans-99\"/>\n     <use x=\"198.925781\" xlink:href=\"#DejaVuSans-107\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_4\">\n   <g id=\"patch_17\">\n    <path d=\"M 317.127119 107.436769 \nL 402.245763 107.436769 \nL 402.245763 22.318125 \nL 317.127119 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#p72379bebb4)\">\n    <image height=\"86\" id=\"image8c10ea1a81\" transform=\"scale(1 -1)translate(0 -86)\" width=\"86\" x=\"317.127119\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.436769\"/>\n   </g>\n   <g id=\"patch_18\">\n    <path d=\"M 317.127119 107.436769 \nL 317.127119 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_19\">\n    <path d=\"M 402.245763 107.436769 \nL 402.245763 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_20\">\n    <path d=\"M 317.127119 107.436769 \nL 402.245763 107.436769 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_21\">\n    <path d=\"M 317.127119 22.318125 \nL 402.245763 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_4\">\n    <!-- apple -->\n    <defs>\n     <path d=\"M 34.28125 27.484375 \nQ 23.390625 27.484375 19.1875 25 \nQ 14.984375 22.515625 14.984375 16.5 \nQ 14.984375 11.71875 18.140625 8.90625 \nQ 21.296875 6.109375 26.703125 6.109375 \nQ 34.1875 6.109375 38.703125 11.40625 \nQ 43.21875 16.703125 43.21875 25.484375 \nL 43.21875 27.484375 \nz\nM 52.203125 31.203125 \nL 52.203125 0 \nL 43.21875 0 \nL 43.21875 8.296875 \nQ 40.140625 3.328125 35.546875 0.953125 \nQ 30.953125 -1.421875 24.3125 -1.421875 \nQ 15.921875 -1.421875 10.953125 3.296875 \nQ 6 8.015625 6 15.921875 \nQ 6 25.140625 12.171875 29.828125 \nQ 18.359375 34.515625 30.609375 34.515625 \nL 43.21875 34.515625 \nL 43.21875 35.40625 \nQ 43.21875 41.609375 39.140625 45 \nQ 35.0625 48.390625 27.6875 48.390625 \nQ 23 48.390625 18.546875 47.265625 \nQ 14.109375 46.140625 10.015625 43.890625 \nL 10.015625 52.203125 \nQ 14.9375 54.109375 19.578125 55.046875 \nQ 24.21875 56 28.609375 56 \nQ 40.484375 56 46.34375 49.84375 \nQ 52.203125 43.703125 52.203125 31.203125 \nz\n\" id=\"DejaVuSans-97\"/>\n     <path d=\"M 18.109375 8.203125 \nL 18.109375 -20.796875 \nL 9.078125 -20.796875 \nL 9.078125 54.6875 \nL 18.109375 54.6875 \nL 18.109375 46.390625 \nQ 20.953125 51.265625 25.265625 53.625 \nQ 29.59375 56 35.59375 56 \nQ 45.5625 56 51.78125 48.09375 \nQ 58.015625 40.1875 58.015625 27.296875 \nQ 58.015625 14.40625 51.78125 6.484375 \nQ 45.5625 -1.421875 35.59375 -1.421875 \nQ 29.59375 -1.421875 25.265625 0.953125 \nQ 20.953125 3.328125 18.109375 8.203125 \nz\nM 48.6875 27.296875 \nQ 48.6875 37.203125 44.609375 42.84375 \nQ 40.53125 48.484375 33.40625 48.484375 \nQ 26.265625 48.484375 22.1875 42.84375 \nQ 18.109375 37.203125 18.109375 27.296875 \nQ 18.109375 17.390625 22.1875 11.75 \nQ 26.265625 6.109375 33.40625 6.109375 \nQ 40.53125 6.109375 44.609375 11.75 \nQ 48.6875 17.390625 48.6875 27.296875 \nz\n\" id=\"DejaVuSans-112\"/>\n    </defs>\n    <g transform=\"translate(343.032691 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-97\"/>\n     <use x=\"61.279297\" xlink:href=\"#DejaVuSans-112\"/>\n     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-112\"/>\n     <use x=\"188.232422\" xlink:href=\"#DejaVuSans-108\"/>\n     <use x=\"216.015625\" xlink:href=\"#DejaVuSans-101\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_5\">\n   <g id=\"patch_22\">\n    <path d=\"M 419.269492 107.436769 \nL 504.388136 107.436769 \nL 504.388136 22.318125 \nL 419.269492 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#pcaff304ddd)\">\n    <image height=\"86\" id=\"image6c3b31d6cb\" transform=\"scale(1 -1)translate(0 -86)\" width=\"86\" x=\"419.269492\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.436769\"/>\n   </g>\n   <g id=\"patch_23\">\n    <path d=\"M 419.269492 107.436769 \nL 419.269492 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_24\">\n    <path d=\"M 504.388136 107.436769 \nL 504.388136 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_25\">\n    <path d=\"M 419.269492 107.436769 \nL 504.388136 107.436769 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_26\">\n    <path d=\"M 419.269492 22.318125 \nL 504.388136 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_5\">\n    <!-- cat -->\n    <defs>\n     <path d=\"M 18.3125 70.21875 \nL 18.3125 54.6875 \nL 36.8125 54.6875 \nL 36.8125 47.703125 \nL 18.3125 47.703125 \nL 18.3125 18.015625 \nQ 18.3125 11.328125 20.140625 9.421875 \nQ 21.96875 7.515625 27.59375 7.515625 \nL 36.8125 7.515625 \nL 36.8125 0 \nL 27.59375 0 \nQ 17.1875 0 13.234375 3.875 \nQ 9.28125 7.765625 9.28125 18.015625 \nL 9.28125 47.703125 \nL 2.6875 47.703125 \nL 2.6875 54.6875 \nL 9.28125 54.6875 \nL 9.28125 70.21875 \nz\n\" id=\"DejaVuSans-116\"/>\n    </defs>\n    <g transform=\"translate(452.500689 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-99\"/>\n     <use x=\"54.980469\" xlink:href=\"#DejaVuSans-97\"/>\n     <use x=\"116.259766\" xlink:href=\"#DejaVuSans-116\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_6\">\n   <g id=\"patch_27\">\n    <path d=\"M 521.411864 107.436769 \nL 606.530508 107.436769 \nL 606.530508 22.318125 \nL 521.411864 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#p274ddcfd48)\">\n    <image height=\"86\" id=\"imagec8cabf961b\" transform=\"scale(1 -1)translate(0 -86)\" width=\"86\" x=\"521.411864\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.436769\"/>\n   </g>\n   <g id=\"patch_28\">\n    <path d=\"M 521.411864 107.436769 \nL 521.411864 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_29\">\n    <path d=\"M 606.530508 107.436769 \nL 606.530508 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_30\">\n    <path d=\"M 521.411864 107.436769 \nL 606.530508 107.436769 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_31\">\n    <path d=\"M 521.411864 22.318125 \nL 606.530508 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_6\">\n    <!-- plane -->\n    <defs>\n     <path d=\"M 54.890625 33.015625 \nL 54.890625 0 \nL 45.90625 0 \nL 45.90625 32.71875 \nQ 45.90625 40.484375 42.875 44.328125 \nQ 39.84375 48.1875 33.796875 48.1875 \nQ 26.515625 48.1875 22.3125 43.546875 \nQ 18.109375 38.921875 18.109375 30.90625 \nL 18.109375 0 \nL 9.078125 0 \nL 9.078125 54.6875 \nL 18.109375 54.6875 \nL 18.109375 46.1875 \nQ 21.34375 51.125 25.703125 53.5625 \nQ 30.078125 56 35.796875 56 \nQ 45.21875 56 50.046875 50.171875 \nQ 54.890625 44.34375 54.890625 33.015625 \nz\n\" id=\"DejaVuSans-110\"/>\n    </defs>\n    <g transform=\"translate(547.323999 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-112\"/>\n     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-108\"/>\n     <use x=\"91.259766\" xlink:href=\"#DejaVuSans-97\"/>\n     <use x=\"152.539062\" xlink:href=\"#DejaVuSans-110\"/>\n     <use x=\"215.917969\" xlink:href=\"#DejaVuSans-101\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_7\">\n   <g id=\"patch_32\">\n    <path d=\"M 623.554237 107.436769 \nL 708.672881 107.436769 \nL 708.672881 22.318125 \nL 623.554237 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#pfc148cce1c)\">\n    <image height=\"86\" id=\"imageafaf3592c4\" transform=\"scale(1 -1)translate(0 -86)\" width=\"86\" x=\"623.554237\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.436769\"/>\n   </g>\n   <g id=\"patch_33\">\n    <path d=\"M 623.554237 107.436769 \nL 623.554237 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_34\">\n    <path d=\"M 708.672881 107.436769 \nL 708.672881 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_35\">\n    <path d=\"M 623.554237 107.436769 \nL 708.672881 107.436769 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_36\">\n    <path d=\"M 623.554237 22.318125 \nL 708.672881 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_7\">\n    <!-- television -->\n    <defs>\n     <path d=\"M 2.984375 54.6875 \nL 12.5 54.6875 \nL 29.59375 8.796875 \nL 46.6875 54.6875 \nL 56.203125 54.6875 \nL 35.6875 0 \nL 23.484375 0 \nz\n\" id=\"DejaVuSans-118\"/>\n     <path d=\"M 9.421875 54.6875 \nL 18.40625 54.6875 \nL 18.40625 0 \nL 9.421875 0 \nz\nM 9.421875 75.984375 \nL 18.40625 75.984375 \nL 18.40625 64.59375 \nL 9.421875 64.59375 \nz\n\" id=\"DejaVuSans-105\"/>\n    </defs>\n    <g transform=\"translate(637.226372 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-116\"/>\n     <use x=\"39.208984\" xlink:href=\"#DejaVuSans-101\"/>\n     <use x=\"100.732422\" xlink:href=\"#DejaVuSans-108\"/>\n     <use x=\"128.515625\" xlink:href=\"#DejaVuSans-101\"/>\n     <use x=\"190.039062\" xlink:href=\"#DejaVuSans-118\"/>\n     <use x=\"249.21875\" xlink:href=\"#DejaVuSans-105\"/>\n     <use x=\"277.001953\" xlink:href=\"#DejaVuSans-115\"/>\n     <use x=\"329.101562\" xlink:href=\"#DejaVuSans-105\"/>\n     <use x=\"356.884766\" xlink:href=\"#DejaVuSans-111\"/>\n     <use x=\"418.066406\" xlink:href=\"#DejaVuSans-110\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_8\">\n   <g id=\"patch_37\">\n    <path d=\"M 725.69661 107.436769 \nL 810.815254 107.436769 \nL 810.815254 22.318125 \nL 725.69661 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#p0d79e8bbe4)\">\n    <image height=\"86\" id=\"imageee96b08129\" transform=\"scale(1 -1)translate(0 -86)\" width=\"86\" x=\"725.69661\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.436769\"/>\n   </g>\n   <g id=\"patch_38\">\n    <path d=\"M 725.69661 107.436769 \nL 725.69661 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_39\">\n    <path d=\"M 810.815254 107.436769 \nL 810.815254 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_40\">\n    <path d=\"M 725.69661 107.436769 \nL 810.815254 107.436769 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_41\">\n    <path d=\"M 725.69661 22.318125 \nL 810.815254 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_8\">\n    <!-- dog -->\n    <defs>\n     <path d=\"M 45.40625 27.984375 \nQ 45.40625 37.75 41.375 43.109375 \nQ 37.359375 48.484375 30.078125 48.484375 \nQ 22.859375 48.484375 18.828125 43.109375 \nQ 14.796875 37.75 14.796875 27.984375 \nQ 14.796875 18.265625 18.828125 12.890625 \nQ 22.859375 7.515625 30.078125 7.515625 \nQ 37.359375 7.515625 41.375 12.890625 \nQ 45.40625 18.265625 45.40625 27.984375 \nz\nM 54.390625 6.78125 \nQ 54.390625 -7.171875 48.1875 -13.984375 \nQ 42 -20.796875 29.203125 -20.796875 \nQ 24.46875 -20.796875 20.265625 -20.09375 \nQ 16.0625 -19.390625 12.109375 -17.921875 \nL 12.109375 -9.1875 \nQ 16.0625 -11.328125 19.921875 -12.34375 \nQ 23.78125 -13.375 27.78125 -13.375 \nQ 36.625 -13.375 41.015625 -8.765625 \nQ 45.40625 -4.15625 45.40625 5.171875 \nL 45.40625 9.625 \nQ 42.625 4.78125 38.28125 2.390625 \nQ 33.9375 0 27.875 0 \nQ 17.828125 0 11.671875 7.65625 \nQ 5.515625 15.328125 5.515625 27.984375 \nQ 5.515625 40.671875 11.671875 48.328125 \nQ 17.828125 56 27.875 56 \nQ 33.9375 56 38.28125 53.609375 \nQ 42.625 51.21875 45.40625 46.390625 \nL 45.40625 54.6875 \nL 54.390625 54.6875 \nz\n\" id=\"DejaVuSans-103\"/>\n    </defs>\n    <g transform=\"translate(756.966557 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-100\"/>\n     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-111\"/>\n     <use x=\"124.658203\" xlink:href=\"#DejaVuSans-103\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_9\">\n   <g id=\"patch_42\">\n    <path d=\"M 827.838983 107.436769 \nL 912.957627 107.436769 \nL 912.957627 22.318125 \nL 827.838983 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#pd4c84ef823)\">\n    <image height=\"86\" id=\"imageee1e7c46fe\" transform=\"scale(1 -1)translate(0 -86)\" width=\"86\" x=\"827.838983\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.436769\"/>\n   </g>\n   <g id=\"patch_43\">\n    <path d=\"M 827.838983 107.436769 \nL 827.838983 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_44\">\n    <path d=\"M 912.957627 107.436769 \nL 912.957627 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_45\">\n    <path d=\"M 827.838983 107.436769 \nL 912.957627 107.436769 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_46\">\n    <path d=\"M 827.838983 22.318125 \nL 912.957627 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_9\">\n    <!-- dolphin -->\n    <g transform=\"translate(848.17018 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-100\"/>\n     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-111\"/>\n     <use x=\"124.658203\" xlink:href=\"#DejaVuSans-108\"/>\n     <use x=\"152.441406\" xlink:href=\"#DejaVuSans-112\"/>\n     <use x=\"215.917969\" xlink:href=\"#DejaVuSans-104\"/>\n     <use x=\"279.296875\" xlink:href=\"#DejaVuSans-105\"/>\n     <use x=\"307.080078\" xlink:href=\"#DejaVuSans-110\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_10\">\n   <g id=\"patch_47\">\n    <path d=\"M 929.981356 107.436769 \nL 1015.1 107.436769 \nL 1015.1 22.318125 \nL 929.981356 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#pc5cebf0847)\">\n    <image height=\"86\" id=\"image2c1b070ef3\" transform=\"scale(1 -1)translate(0 -86)\" width=\"86\" x=\"929.981356\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.436769\"/>\n   </g>\n   <g id=\"patch_48\">\n    <path d=\"M 929.981356 107.436769 \nL 929.981356 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_49\">\n    <path d=\"M 1015.1 107.436769 \nL 1015.1 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_50\">\n    <path d=\"M 929.981356 107.436769 \nL 1015.1 107.436769 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_51\">\n    <path d=\"M 929.981356 22.318125 \nL 1015.1 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_10\">\n    <!-- spider -->\n    <g transform=\"translate(953.971615 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-115\"/>\n     <use x=\"52.099609\" xlink:href=\"#DejaVuSans-112\"/>\n     <use x=\"115.576172\" xlink:href=\"#DejaVuSans-105\"/>\n     <use x=\"143.359375\" xlink:href=\"#DejaVuSans-100\"/>\n     <use x=\"206.835938\" xlink:href=\"#DejaVuSans-101\"/>\n     <use x=\"268.359375\" xlink:href=\"#DejaVuSans-114\"/>\n    </g>\n   </g>\n  </g>\n </g>\n <defs>\n  <clipPath id=\"p97d50f8853\">\n   <rect height=\"85.118644\" width=\"85.118644\" x=\"10.7\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"pc87a8a4d7f\">\n   <rect height=\"85.118644\" width=\"85.118644\" x=\"112.842373\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"pf0e9a41c1f\">\n   <rect height=\"85.118644\" width=\"85.118644\" x=\"214.984746\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"p72379bebb4\">\n   <rect height=\"85.118644\" width=\"85.118644\" x=\"317.127119\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"pcaff304ddd\">\n   <rect height=\"85.118644\" width=\"85.118644\" x=\"419.269492\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"p274ddcfd48\">\n   <rect height=\"85.118644\" width=\"85.118644\" x=\"521.411864\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"pfc148cce1c\">\n   <rect height=\"85.118644\" width=\"85.118644\" x=\"623.554237\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"p0d79e8bbe4\">\n   <rect height=\"85.118644\" width=\"85.118644\" x=\"725.69661\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"pd4c84ef823\">\n   <rect height=\"85.118644\" width=\"85.118644\" x=\"827.838983\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"pc5cebf0847\">\n   <rect height=\"85.118644\" width=\"85.118644\" x=\"929.981356\" y=\"22.318125\"/>\n  </clipPath>\n </defs>\n</svg>\n",
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "3eMs7DbVt4Ee",
        "colab_type": "code",
        "outputId": "1a9814f9-5956-4254-c65c-f7deb4241247",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 120
        }
      },
      "source": [
        "fig = no_axis_show(plt.imread(f'real_or_drawing/test_data/.bmp'))"
      ],
      "execution_count": 20,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": "<Figure size 432x288 with 1 Axes>",
            "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Created with matplotlib (https://matplotlib.org/) -->\n<svg height=\"235.34pt\" version=\"1.1\" viewBox=\"0 0 235.34 235.34\" width=\"235.34pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <defs>\n  <style type=\"text/css\">\n*{stroke-linecap:butt;stroke-linejoin:round;}\n  </style>\n </defs>\n <g id=\"figure_1\">\n  <g id=\"patch_1\">\n   <path d=\"M 0 235.34 \nL 235.34 235.34 \nL 235.34 0 \nL 0 0 \nz\n\" style=\"fill:none;\"/>\n  </g>\n  <g id=\"axes_1\">\n   <g id=\"patch_2\">\n    <path d=\"M 10.7 224.64 \nL 228.14 224.64 \nL 228.14 7.2 \nL 10.7 7.2 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#p2a87d9814f)\">\n    <image height=\"218\" id=\"imagec311989787\" transform=\"scale(1 -1)translate(0 -218)\" width=\"218\" x=\"10.7\" xlink:href=\"data:image/png;base64,\n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\" y=\"-6.64\"/>\n   </g>\n   <g id=\"patch_3\">\n    <path d=\"M 10.7 224.64 \nL 10.7 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_4\">\n    <path d=\"M 228.14 224.64 \nL 228.14 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_5\">\n    <path d=\"M 10.7 224.64 \nL 228.14 224.64 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_6\">\n    <path d=\"M 10.7 7.2 \nL 228.14 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n  </g>\n </g>\n <defs>\n  <clipPath id=\"p2a87d9814f\">\n   <rect height=\"217.44\" width=\"217.44\" x=\"10.7\" y=\"7.2\"/>\n  </clipPath>\n </defs>\n</svg>\n",
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOsAAADrCAYAAACICmHVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAIpklEQVR4nO3dX2jPexzH8c93zP9kFJpxRv5cINlaJPInMiRbrogLKbTyowiJUi524YYsFxSRUMifkmGY/Amj3E1ra5vFjU1bXKDZ99ydOqd93p/fn/17dZ6Py/PaZ+eX09Pv1Kfv7xfFcewADHxZ/f0CACSHWAERxAqIIFZABLECIogVEDE4lR+Oooh7HqCXxXEcdffPeWcFRBArIIJYARHECoggVkAEsQIiiBUQQayACGIFRBArIIJYARHECoggVkAEsQIiiBUQQayACGIFRBArIIJYARHECoggVkAEsQIiiBUQQayACGIFRBArIIJYARHECoggVkAEsQIiiBUQQayACGIFRBArIIJYARHECoggVkAEsQIiiBUQQayACGIFRBArIIJYARHECoggVkDE4P5+Aehdw4cPN/eNGzea+4gRI7xbY2Ojefbp06fm3tnZae79KS8vz9xXrVrl3R48eGCe/fLlS1qviXdWQASxAiKIFRBBrIAIYgVEECsgIorjOPkfjqLkfxh9IivL/vu2pqbG3AsKCnry5fzL4cOHzb28vDzt3z179mxzLykpyWgvLCw09yiKvNvmzZvNs1evXjX3OI67/eW8swIiiBUQQayACGIFRBArIIJYARHECojgnnWAGzRokLmXlpaa+5UrV8w9Ozs75deUrA8fPpj7/PnzzX3Dhg3e7fbt2+bZP3/+mPvz58/NPfT779y5492amprMsyHcswLiiBUQQayACGIFRBArIIJYARHECojgnrUPWB/n6ZxzO3fu9G6JRMI8m5+fb+61tbXmfurUKXOvr6/3bocOHTLPFhUVmfuYMWPMffTo0d7N+ihQ55yrrq4297a2NnPvT9yzAuKIFRBBrIAIYgVEECsgglgBEcQKiOArH/vAwYMHzf3o0aPeraqqyjxbVlZm7pWVleYeumfPycnxbkOHDjXPZvqs7IIFC7zbuHHjzLOhr7LMVFdXl3eznnV1zrmvX7+m9e/knRUQQayACGIFRBArIIJYARHECoggVkAE96xJWLZsmbkfOHDA3JcvX27u7e3t3m3v3r3m2X379pn7q1evzL2jo8PcFy5c6N0WLVpknk3lWenunDlzxrtNnz49o9/dm37//m3uly5dSuv38s4KiCBWQASxAiKIFRBBrIAIYgVEyFzdWB9L6ZxzS5YsMXfr+iX0sZbz5s0z95aWFnMPPea2evVq7zZt2jTzbGgfNmyYuYeubu7fv+/dysvLzbNHjhwx9yjq9hM3/1FcXOzdQl+Fme5jaMmyHpEL/Zmmi3dWQASxAiKIFRBBrIAIYgVEECsgglgBET16z5qbm2vue/bs8W6hx8gKCgrMPXTv9uPHD+8Weoxsx44d5h56FOzRo0fmXldX591C98ehP7felJVl/13/8+dPcw/ds1ZUVHi30MegrlixwtwV8c4KiCBWQASxAiKIFRBBrIAIYgVEECsgokfvWZcuXWru1kd2PnnyxDxrfS2ic849e/bM3GtqarxbZ2enefbmzZvmvm7dOnOfMmWKuV+7ds27JRKJjH73rVu3zN16XtU5575//+7dioqKzLO1tbXmPnbsWHOvrq72bqFnaUNfu3j8+HFzf/funbn3B95ZARHECoggVkAEsQIiiBUQQayACGIFRESpfC1fFEUZfYdffn6+d2tqasrkVwefZ12/fr13s56zdS78lY+h513PnTtn7tbzrtafmXPhzwXOy8sz99Azpx8/fvRuoc9TbmhoMPfs7GxzX7t2bVqbc87t37/f3CdMmGDuofvnY8eOebe3b9+aZ0PiOO72QV/eWQERxAqIIFZABLECIogVEEGsgAhiBUT06T2rJfRs4/bt2829rKzM3K37yvr6evPsiRMnzP3s2bPmHnLhwgXvZn13q3POTZo0ydwLCwvNvbS01NxnzJjh3WbNmmWeraysNPctW7aYu/W5witXrjTPNjY2mnvobjx0Tztq1CjvlpOTY54N4Z4VEEesgAhiBUQQKyCCWAERxAqI6NOrm8ePH3u3xYsXm2dDj1M9fPjQ3E+fPu3dQo9DdXV1mXtI6PrkxYsX3u3evXvm2ZMnT5r7y5cvzT2V//7/1draau6XL18299Brr6qq8m6hq77i4mJzDz3GFvpKyYkTJ3q35uZm82wIVzeAOGIFRBArIIJYARHECoggVkAEsQIi+vSeddOmTd5tzpw55tmLFy+ae11dXVqvqSeEHol6//69uU+dOtW7/fr1yzw7ZMgQc585c6a5hx4PzM3N9W6fP382z+7evdvcKyoqzH3y5MnezbqDdc658ePHm/uaNWvM/fXr1+bem7hnBcQRKyCCWAERxAqIIFZABLECIogVEDFgPopU2bZt28z9/Pnz5m7dpV6/ft08G7qrfPPmjbmHWM+c7tq1yzwbuuP99OlTWq/JOft5Uufsr9F0LnwPG/qY1fb2dnPPBPesgDhiBUQQKyCCWAERxAqIIFZABLECIrhn7QFZWfbfeXPnzjX3lpYW7/bt27e0XlOyRo4cae5tbW3eLfRVl4lEIq3X1BNC96Q3btww95KSEnNvaGhI+TUli3tWQByxAiKIFRBBrIAIYgVEECsggqsbmLZu3erd7t69a57t6Ojo6Zfzv8DVDSCOWAERxAqIIFZABLECIogVEEGsgAjuWYEBhntWQByxAiKIFRBBrIAIYgVEECsgglgBEcQKiCBWQASxAiKIFRBBrIAIYgVEECsgglgBEcQKiCBWQASxAiKIFRBBrIAIYgVEECsgglgBEcQKiCBWQASxAiKIFRBBrIAIYgVEECsgglgBEcQKiCBWQASxAiKIFRBBrIAIYgVEECsgglgBEcQKiCBWQASxAiKIFRBBrIAIYgVEECsgYnCKP9/qnGvujRcCwDnn3F++IYrjuC9fCIA08b/BgAhiBUQQKyCCWAERxAqIIFZABLECIogVEEGsgIi/AelczpbIktSoAAAAAElFTkSuQmCC\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "moXQw9To5TqZ",
        "colab_type": "text"
      },
      "source": [
        "# Special Domain Knowledge\n",
        "\n",
        "因為大家塗鴉的時候通常只會畫輪廓，我們可以根據這點將source data做點邊緣偵測處理，讓source data更像target data一點。\n",
        "\n",
        "## Canny Edge Detection\n",
        "算法這邊不贅述，只教大家怎麼用。若有興趣歡迎參考wiki或[這裡](https://medium.com/@pomelyu5199/canny-edge-detector-%E5%AF%A6%E4%BD%9C-opencv-f7d1a0a57d19)。\n",
        "\n",
        "cv2.Canny使用非常方便，只需要兩個參數: low_threshold, high_threshold。\n",
        "\n",
        "```cv2.Canny(image, low_threshold, high_threshold)```\n",
        "\n",
        "簡單來說就是當邊緣值超過high_threshold，我們就確定它是edge。如果只有超過low_threshold，那就先判斷一下再決定是不是edge。\n",
        "\n",
        "以下我們直接拿source data做做看。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "mn2MkDLV7E2-",
        "colab_type": "code",
        "outputId": "99414b46-b70a-4d39-81d3-666e28835596",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 278
        }
      },
      "source": [
        "import cv2\n",
        "import matplotlib.pyplot as plt\n",
        "titles = ['horse', 'bed', 'clock', 'apple', 'cat', 'plane', 'television', 'dog', 'dolphin', 'spider']\n",
        "plt.figure(figsize=(18, 18))\n",
        "\n",
        "original_img = plt.imread(f'real_or_drawing/train_data/0/0.bmp')\n",
        "plt.subplot(1, 5, 1)\n",
        "no_axis_show(original_img, title='original')\n",
        "\n",
        "gray_img = cv2.cvtColor(original_img, cv2.COLOR_RGB2GRAY)\n",
        "plt.subplot(1, 5, 2)\n",
        "no_axis_show(gray_img, title='gray scale', cmap='gray')\n",
        "\n",
        "gray_img = cv2.cvtColor(original_img, cv2.COLOR_RGB2GRAY)\n",
        "plt.subplot(1, 5, 2)\n",
        "no_axis_show(gray_img, title='gray scale', cmap='gray')\n",
        "\n",
        "canny_50100 = cv2.Canny(gray_img, 50, 100)\n",
        "plt.subplot(1, 5, 3)\n",
        "no_axis_show(canny_50100, title='Canny(50, 100)', cmap='gray')\n",
        "\n",
        "canny_150200 = cv2.Canny(gray_img, 150, 200)\n",
        "plt.subplot(1, 5, 4)\n",
        "no_axis_show(canny_150200, title='Canny(150, 200)', cmap='gray')\n",
        "\n",
        "canny_250300 = cv2.Canny(gray_img, 250, 300)\n",
        "plt.subplot(1, 5, 5)\n",
        "no_axis_show(canny_250300, title='Canny(250, 300)', cmap='gray')"
      ],
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": "<Figure size 1296x1296 with 5 Axes>",
            "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Created with matplotlib (https://matplotlib.org/) -->\n<svg height=\"206.190539pt\" version=\"1.1\" viewBox=\"0 0 1022.3 206.190539\" width=\"1022.3pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <defs>\n  <style type=\"text/css\">\n*{stroke-linecap:butt;stroke-linejoin:round;}\n  </style>\n </defs>\n <g id=\"figure_1\">\n  <g id=\"patch_1\">\n   <path d=\"M 0 206.190539 \nL 1022.3 206.190539 \nL 1022.3 0 \nL 0 0 \nz\n\" style=\"fill:none;\"/>\n  </g>\n  <g id=\"axes_1\">\n   <g id=\"patch_2\">\n    <path d=\"M 10.7 195.490539 \nL 183.872414 195.490539 \nL 183.872414 22.318125 \nL 10.7 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#pbc2372e242)\">\n    <image height=\"174\" id=\"imagea7dfac49ab\" transform=\"scale(1 -1)translate(0 -174)\" width=\"174\" x=\"10.7\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.490539\"/>\n   </g>\n   <g id=\"patch_3\">\n    <path d=\"M 10.7 195.490539 \nL 10.7 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_4\">\n    <path d=\"M 183.872414 195.490539 \nL 183.872414 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_5\">\n    <path d=\"M 10.7 195.490539 \nL 183.872414 195.490539 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_6\">\n    <path d=\"M 10.7 22.318125 \nL 183.872414 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_1\">\n    <!-- original -->\n    <defs>\n     <path d=\"M 30.609375 48.390625 \nQ 23.390625 48.390625 19.1875 42.75 \nQ 14.984375 37.109375 14.984375 27.296875 \nQ 14.984375 17.484375 19.15625 11.84375 \nQ 23.34375 6.203125 30.609375 6.203125 \nQ 37.796875 6.203125 41.984375 11.859375 \nQ 46.1875 17.53125 46.1875 27.296875 \nQ 46.1875 37.015625 41.984375 42.703125 \nQ 37.796875 48.390625 30.609375 48.390625 \nz\nM 30.609375 56 \nQ 42.328125 56 49.015625 48.375 \nQ 55.71875 40.765625 55.71875 27.296875 \nQ 55.71875 13.875 49.015625 6.21875 \nQ 42.328125 -1.421875 30.609375 -1.421875 \nQ 18.84375 -1.421875 12.171875 6.21875 \nQ 5.515625 13.875 5.515625 27.296875 \nQ 5.515625 40.765625 12.171875 48.375 \nQ 18.84375 56 30.609375 56 \nz\n\" id=\"DejaVuSans-111\"/>\n     <path d=\"M 41.109375 46.296875 \nQ 39.59375 47.171875 37.8125 47.578125 \nQ 36.03125 48 33.890625 48 \nQ 26.265625 48 22.1875 43.046875 \nQ 18.109375 38.09375 18.109375 28.8125 \nL 18.109375 0 \nL 9.078125 0 \nL 9.078125 54.6875 \nL 18.109375 54.6875 \nL 18.109375 46.1875 \nQ 20.953125 51.171875 25.484375 53.578125 \nQ 30.03125 56 36.53125 56 \nQ 37.453125 56 38.578125 55.875 \nQ 39.703125 55.765625 41.0625 55.515625 \nz\n\" id=\"DejaVuSans-114\"/>\n     <path d=\"M 9.421875 54.6875 \nL 18.40625 54.6875 \nL 18.40625 0 \nL 9.421875 0 \nz\nM 9.421875 75.984375 \nL 18.40625 75.984375 \nL 18.40625 64.59375 \nL 9.421875 64.59375 \nz\n\" id=\"DejaVuSans-105\"/>\n     <path d=\"M 45.40625 27.984375 \nQ 45.40625 37.75 41.375 43.109375 \nQ 37.359375 48.484375 30.078125 48.484375 \nQ 22.859375 48.484375 18.828125 43.109375 \nQ 14.796875 37.75 14.796875 27.984375 \nQ 14.796875 18.265625 18.828125 12.890625 \nQ 22.859375 7.515625 30.078125 7.515625 \nQ 37.359375 7.515625 41.375 12.890625 \nQ 45.40625 18.265625 45.40625 27.984375 \nz\nM 54.390625 6.78125 \nQ 54.390625 -7.171875 48.1875 -13.984375 \nQ 42 -20.796875 29.203125 -20.796875 \nQ 24.46875 -20.796875 20.265625 -20.09375 \nQ 16.0625 -19.390625 12.109375 -17.921875 \nL 12.109375 -9.1875 \nQ 16.0625 -11.328125 19.921875 -12.34375 \nQ 23.78125 -13.375 27.78125 -13.375 \nQ 36.625 -13.375 41.015625 -8.765625 \nQ 45.40625 -4.15625 45.40625 5.171875 \nL 45.40625 9.625 \nQ 42.625 4.78125 38.28125 2.390625 \nQ 33.9375 0 27.875 0 \nQ 17.828125 0 11.671875 7.65625 \nQ 5.515625 15.328125 5.515625 27.984375 \nQ 5.515625 40.671875 11.671875 48.328125 \nQ 17.828125 56 27.875 56 \nQ 33.9375 56 38.28125 53.609375 \nQ 42.625 51.21875 45.40625 46.390625 \nL 45.40625 54.6875 \nL 54.390625 54.6875 \nz\n\" id=\"DejaVuSans-103\"/>\n     <path d=\"M 54.890625 33.015625 \nL 54.890625 0 \nL 45.90625 0 \nL 45.90625 32.71875 \nQ 45.90625 40.484375 42.875 44.328125 \nQ 39.84375 48.1875 33.796875 48.1875 \nQ 26.515625 48.1875 22.3125 43.546875 \nQ 18.109375 38.921875 18.109375 30.90625 \nL 18.109375 0 \nL 9.078125 0 \nL 9.078125 54.6875 \nL 18.109375 54.6875 \nL 18.109375 46.1875 \nQ 21.34375 51.125 25.703125 53.5625 \nQ 30.078125 56 35.796875 56 \nQ 45.21875 56 50.046875 50.171875 \nQ 54.890625 44.34375 54.890625 33.015625 \nz\n\" id=\"DejaVuSans-110\"/>\n     <path d=\"M 34.28125 27.484375 \nQ 23.390625 27.484375 19.1875 25 \nQ 14.984375 22.515625 14.984375 16.5 \nQ 14.984375 11.71875 18.140625 8.90625 \nQ 21.296875 6.109375 26.703125 6.109375 \nQ 34.1875 6.109375 38.703125 11.40625 \nQ 43.21875 16.703125 43.21875 25.484375 \nL 43.21875 27.484375 \nz\nM 52.203125 31.203125 \nL 52.203125 0 \nL 43.21875 0 \nL 43.21875 8.296875 \nQ 40.140625 3.328125 35.546875 0.953125 \nQ 30.953125 -1.421875 24.3125 -1.421875 \nQ 15.921875 -1.421875 10.953125 3.296875 \nQ 6 8.015625 6 15.921875 \nQ 6 25.140625 12.171875 29.828125 \nQ 18.359375 34.515625 30.609375 34.515625 \nL 43.21875 34.515625 \nL 43.21875 35.40625 \nQ 43.21875 41.609375 39.140625 45 \nQ 35.0625 48.390625 27.6875 48.390625 \nQ 23 48.390625 18.546875 47.265625 \nQ 14.109375 46.140625 10.015625 43.890625 \nL 10.015625 52.203125 \nQ 14.9375 54.109375 19.578125 55.046875 \nQ 24.21875 56 28.609375 56 \nQ 40.484375 56 46.34375 49.84375 \nQ 52.203125 43.703125 52.203125 31.203125 \nz\n\" id=\"DejaVuSans-97\"/>\n     <path d=\"M 9.421875 75.984375 \nL 18.40625 75.984375 \nL 18.40625 0 \nL 9.421875 0 \nz\n\" id=\"DejaVuSans-108\"/>\n    </defs>\n    <g transform=\"translate(74.859332 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-111\"/>\n     <use x=\"61.181641\" xlink:href=\"#DejaVuSans-114\"/>\n     <use x=\"102.294922\" xlink:href=\"#DejaVuSans-105\"/>\n     <use x=\"130.078125\" xlink:href=\"#DejaVuSans-103\"/>\n     <use x=\"193.554688\" xlink:href=\"#DejaVuSans-105\"/>\n     <use x=\"221.337891\" xlink:href=\"#DejaVuSans-110\"/>\n     <use x=\"284.716797\" xlink:href=\"#DejaVuSans-97\"/>\n     <use x=\"345.996094\" xlink:href=\"#DejaVuSans-108\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_2\">\n   <g id=\"patch_7\">\n    <path d=\"M 218.506897 195.490539 \nL 391.67931 195.490539 \nL 391.67931 22.318125 \nL 218.506897 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#p4951e05736)\">\n    <image height=\"174\" id=\"image69f962fa46\" transform=\"scale(1 -1)translate(0 -174)\" width=\"174\" x=\"219\" xlink:href=\"data:image/png;base64,\n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\" y=\"-21.190539\"/>\n   </g>\n   <g id=\"patch_8\">\n    <path d=\"M 218.506897 195.490539 \nL 218.506897 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_9\">\n    <path d=\"M 391.67931 195.490539 \nL 391.67931 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_10\">\n    <path d=\"M 218.506897 195.490539 \nL 391.67931 195.490539 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_11\">\n    <path d=\"M 218.506897 22.318125 \nL 391.67931 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_2\">\n    <!-- gray scale -->\n    <defs>\n     <path d=\"M 32.171875 -5.078125 \nQ 28.375 -14.84375 24.75 -17.8125 \nQ 21.140625 -20.796875 15.09375 -20.796875 \nL 7.90625 -20.796875 \nL 7.90625 -13.28125 \nL 13.1875 -13.28125 \nQ 16.890625 -13.28125 18.9375 -11.515625 \nQ 21 -9.765625 23.484375 -3.21875 \nL 25.09375 0.875 \nL 2.984375 54.6875 \nL 12.5 54.6875 \nL 29.59375 11.921875 \nL 46.6875 54.6875 \nL 56.203125 54.6875 \nz\n\" id=\"DejaVuSans-121\"/>\n     <path id=\"DejaVuSans-32\"/>\n     <path d=\"M 44.28125 53.078125 \nL 44.28125 44.578125 \nQ 40.484375 46.53125 36.375 47.5 \nQ 32.28125 48.484375 27.875 48.484375 \nQ 21.1875 48.484375 17.84375 46.4375 \nQ 14.5 44.390625 14.5 40.28125 \nQ 14.5 37.15625 16.890625 35.375 \nQ 19.28125 33.59375 26.515625 31.984375 \nL 29.59375 31.296875 \nQ 39.15625 29.25 43.1875 25.515625 \nQ 47.21875 21.78125 47.21875 15.09375 \nQ 47.21875 7.46875 41.1875 3.015625 \nQ 35.15625 -1.421875 24.609375 -1.421875 \nQ 20.21875 -1.421875 15.453125 -0.5625 \nQ 10.6875 0.296875 5.421875 2 \nL 5.421875 11.28125 \nQ 10.40625 8.6875 15.234375 7.390625 \nQ 20.0625 6.109375 24.8125 6.109375 \nQ 31.15625 6.109375 34.5625 8.28125 \nQ 37.984375 10.453125 37.984375 14.40625 \nQ 37.984375 18.0625 35.515625 20.015625 \nQ 33.0625 21.96875 24.703125 23.78125 \nL 21.578125 24.515625 \nQ 13.234375 26.265625 9.515625 29.90625 \nQ 5.8125 33.546875 5.8125 39.890625 \nQ 5.8125 47.609375 11.28125 51.796875 \nQ 16.75 56 26.8125 56 \nQ 31.78125 56 36.171875 55.265625 \nQ 40.578125 54.546875 44.28125 53.078125 \nz\n\" id=\"DejaVuSans-115\"/>\n     <path d=\"M 48.78125 52.59375 \nL 48.78125 44.1875 \nQ 44.96875 46.296875 41.140625 47.34375 \nQ 37.3125 48.390625 33.40625 48.390625 \nQ 24.65625 48.390625 19.8125 42.84375 \nQ 14.984375 37.3125 14.984375 27.296875 \nQ 14.984375 17.28125 19.8125 11.734375 \nQ 24.65625 6.203125 33.40625 6.203125 \nQ 37.3125 6.203125 41.140625 7.25 \nQ 44.96875 8.296875 48.78125 10.40625 \nL 48.78125 2.09375 \nQ 45.015625 0.34375 40.984375 -0.53125 \nQ 36.96875 -1.421875 32.421875 -1.421875 \nQ 20.0625 -1.421875 12.78125 6.34375 \nQ 5.515625 14.109375 5.515625 27.296875 \nQ 5.515625 40.671875 12.859375 48.328125 \nQ 20.21875 56 33.015625 56 \nQ 37.15625 56 41.109375 55.140625 \nQ 45.0625 54.296875 48.78125 52.59375 \nz\n\" id=\"DejaVuSans-99\"/>\n     <path d=\"M 56.203125 29.59375 \nL 56.203125 25.203125 \nL 14.890625 25.203125 \nQ 15.484375 15.921875 20.484375 11.0625 \nQ 25.484375 6.203125 34.421875 6.203125 \nQ 39.59375 6.203125 44.453125 7.46875 \nQ 49.3125 8.734375 54.109375 11.28125 \nL 54.109375 2.78125 \nQ 49.265625 0.734375 44.1875 -0.34375 \nQ 39.109375 -1.421875 33.890625 -1.421875 \nQ 20.796875 -1.421875 13.15625 6.1875 \nQ 5.515625 13.8125 5.515625 26.8125 \nQ 5.515625 40.234375 12.765625 48.109375 \nQ 20.015625 56 32.328125 56 \nQ 43.359375 56 49.78125 48.890625 \nQ 56.203125 41.796875 56.203125 29.59375 \nz\nM 47.21875 32.234375 \nQ 47.125 39.59375 43.09375 43.984375 \nQ 39.0625 48.390625 32.421875 48.390625 \nQ 24.90625 48.390625 20.390625 44.140625 \nQ 15.875 39.890625 15.1875 32.171875 \nz\n\" id=\"DejaVuSans-101\"/>\n    </defs>\n    <g transform=\"translate(274.222166 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-103\"/>\n     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-114\"/>\n     <use x=\"104.589844\" xlink:href=\"#DejaVuSans-97\"/>\n     <use x=\"165.869141\" xlink:href=\"#DejaVuSans-121\"/>\n     <use x=\"225.048828\" xlink:href=\"#DejaVuSans-32\"/>\n     <use x=\"256.835938\" xlink:href=\"#DejaVuSans-115\"/>\n     <use x=\"308.935547\" xlink:href=\"#DejaVuSans-99\"/>\n     <use x=\"363.916016\" xlink:href=\"#DejaVuSans-97\"/>\n     <use x=\"425.195312\" xlink:href=\"#DejaVuSans-108\"/>\n     <use x=\"452.978516\" xlink:href=\"#DejaVuSans-101\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_3\">\n   <g id=\"patch_12\">\n    <path d=\"M 426.313793 195.490539 \nL 599.486207 195.490539 \nL 599.486207 22.318125 \nL 426.313793 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#pb74c8053dd)\">\n    <image height=\"174\" id=\"image5cb887de5f\" transform=\"scale(1 -1)translate(0 -174)\" width=\"174\" x=\"426.313793\" xlink:href=\"data:image/png;base64,\niVBORw0KGgoAAAANSUhEUgAAAK4AAACuCAYAAACvDDbuAAAABHNCSVQICAgIfAhkiAAAA4dJREFUeJzt3cFy0zAUQNGE4f9/uWxZYMbCsfquOWfdlja5o+FZiv1+vV5frwu+vs5/+/v9Pv0zjr4WXq/X68d3/wLwL4RLknBJEi5J79fF4eyIgWuulYH6Tya8j1ZckoRLknBJEi5JwiXp510/eGXyPHsF4mganjDl1q1sx09gxSVJuCQJlyThknTbcLaT7eU1T3htrLgkCZck4ZIkXJKES1LqqsLVbeTdv8MTTP17rbgkCZck4ZIkXJLGfsr3E7d2usPU86kT7HwfrLgkCZck4ZIkXJKES9LlqwoTPnn7hHthlUy4smLFJUm4JAmXJOGSlDqPe+TqcDVh2LjL2VtZrbyGE4ZZKy5JwiVJuCQJlyThkrS05bsyjU49CP6/uXrT7KmsuCQJlyThkiRckrZu+a4Mcga2Gaa+D1ZckoRLknBJEi5JY8/jGtj4GysuScIlSbgkCZck4ZI04qrCE86HspcVlyThkiRckoRL0ojh7KwJ9+JlBisuScIlSbgkCZck4ZI09qrCyjbw1EPntq3vY8UlSbgkCZck4ZJ0+ZGoR3YOTFOHoAkD4lm1+xlbcUkSLknCJUm4JAmXpEdcVTj77+/+HSa4+j5MvdpgxSVJuCQJlyThkjTiPO7ZAWDlP/+fGBSmDiYrA9fZc81Xv383Ky5JwiVJuCQJl6QRw9nOAaA0mNy1+7fyd03dabTikiRckoRLknBJEi5JW68qrEyuT5h8rzr6u3aesZ3KikuScEkSLknCJWnrcLbzFkxPHdiOXB24PnHWeef7YMUlSbgkCZck4ZIkXJJ+7pxGj1z9lO8TtjBXPOGKydX3zIpLknBJEi5JwiXptvvj/smE87RP3R5eeW0nPBHp6vlhKy5JwiVJuCQJlyThkrR0VeG7t1YnTP/f/RrsdvU1v+tKkhWXJOGSJFyShEvS++vitPHd27W7TRgQ7/CJ1/bqNu7KeWsrLknCJUm4JAmXJOGStPUgOcdKB9zv2sZd+blWXJKES5JwSRIuSSOe5ct9SkPfCisuScIlSbgkCZckw9lgE84fT2XFJUm4JAmXJOGSJFySnMdl2crVDs/yhd8IlyThkiRckmz5smz3o2ndgonHEC5JwiVJuCQJlyRXFbjV1WcMH32tFZck4ZIkXJKES5LzuNzqrqf5WHFJEi5JwiVJuCQJlyRbvnzMXTeRdpCcxxAuScIlSbgk/QJQQweHl4UlyAAAAABJRU5ErkJggg==\" y=\"-21.490539\"/>\n   </g>\n   <g id=\"patch_13\">\n    <path d=\"M 426.313793 195.490539 \nL 426.313793 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_14\">\n    <path d=\"M 599.486207 195.490539 \nL 599.486207 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_15\">\n    <path d=\"M 426.313793 195.490539 \nL 599.486207 195.490539 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_16\">\n    <path d=\"M 426.313793 22.318125 \nL 599.486207 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_3\">\n    <!-- Canny(50, 100) -->\n    <defs>\n     <path d=\"M 64.40625 67.28125 \nL 64.40625 56.890625 \nQ 59.421875 61.53125 53.78125 63.8125 \nQ 48.140625 66.109375 41.796875 66.109375 \nQ 29.296875 66.109375 22.65625 58.46875 \nQ 16.015625 50.828125 16.015625 36.375 \nQ 16.015625 21.96875 22.65625 14.328125 \nQ 29.296875 6.6875 41.796875 6.6875 \nQ 48.140625 6.6875 53.78125 8.984375 \nQ 59.421875 11.28125 64.40625 15.921875 \nL 64.40625 5.609375 \nQ 59.234375 2.09375 53.4375 0.328125 \nQ 47.65625 -1.421875 41.21875 -1.421875 \nQ 24.65625 -1.421875 15.125 8.703125 \nQ 5.609375 18.84375 5.609375 36.375 \nQ 5.609375 53.953125 15.125 64.078125 \nQ 24.65625 74.21875 41.21875 74.21875 \nQ 47.75 74.21875 53.53125 72.484375 \nQ 59.328125 70.75 64.40625 67.28125 \nz\n\" id=\"DejaVuSans-67\"/>\n     <path d=\"M 31 75.875 \nQ 24.46875 64.65625 21.28125 53.65625 \nQ 18.109375 42.671875 18.109375 31.390625 \nQ 18.109375 20.125 21.3125 9.0625 \nQ 24.515625 -2 31 -13.1875 \nL 23.1875 -13.1875 \nQ 15.875 -1.703125 12.234375 9.375 \nQ 8.59375 20.453125 8.59375 31.390625 \nQ 8.59375 42.28125 12.203125 53.3125 \nQ 15.828125 64.359375 23.1875 75.875 \nz\n\" id=\"DejaVuSans-40\"/>\n     <path d=\"M 10.796875 72.90625 \nL 49.515625 72.90625 \nL 49.515625 64.59375 \nL 19.828125 64.59375 \nL 19.828125 46.734375 \nQ 21.96875 47.46875 24.109375 47.828125 \nQ 26.265625 48.1875 28.421875 48.1875 \nQ 40.625 48.1875 47.75 41.5 \nQ 54.890625 34.8125 54.890625 23.390625 \nQ 54.890625 11.625 47.5625 5.09375 \nQ 40.234375 -1.421875 26.90625 -1.421875 \nQ 22.3125 -1.421875 17.546875 -0.640625 \nQ 12.796875 0.140625 7.71875 1.703125 \nL 7.71875 11.625 \nQ 12.109375 9.234375 16.796875 8.0625 \nQ 21.484375 6.890625 26.703125 6.890625 \nQ 35.15625 6.890625 40.078125 11.328125 \nQ 45.015625 15.765625 45.015625 23.390625 \nQ 45.015625 31 40.078125 35.4375 \nQ 35.15625 39.890625 26.703125 39.890625 \nQ 22.75 39.890625 18.8125 39.015625 \nQ 14.890625 38.140625 10.796875 36.28125 \nz\n\" id=\"DejaVuSans-53\"/>\n     <path d=\"M 31.78125 66.40625 \nQ 24.171875 66.40625 20.328125 58.90625 \nQ 16.5 51.421875 16.5 36.375 \nQ 16.5 21.390625 20.328125 13.890625 \nQ 24.171875 6.390625 31.78125 6.390625 \nQ 39.453125 6.390625 43.28125 13.890625 \nQ 47.125 21.390625 47.125 36.375 \nQ 47.125 51.421875 43.28125 58.90625 \nQ 39.453125 66.40625 31.78125 66.40625 \nz\nM 31.78125 74.21875 \nQ 44.046875 74.21875 50.515625 64.515625 \nQ 56.984375 54.828125 56.984375 36.375 \nQ 56.984375 17.96875 50.515625 8.265625 \nQ 44.046875 -1.421875 31.78125 -1.421875 \nQ 19.53125 -1.421875 13.0625 8.265625 \nQ 6.59375 17.96875 6.59375 36.375 \nQ 6.59375 54.828125 13.0625 64.515625 \nQ 19.53125 74.21875 31.78125 74.21875 \nz\n\" id=\"DejaVuSans-48\"/>\n     <path d=\"M 11.71875 12.40625 \nL 22.015625 12.40625 \nL 22.015625 4 \nL 14.015625 -11.625 \nL 7.71875 -11.625 \nL 11.71875 4 \nz\n\" id=\"DejaVuSans-44\"/>\n     <path d=\"M 12.40625 8.296875 \nL 28.515625 8.296875 \nL 28.515625 63.921875 \nL 10.984375 60.40625 \nL 10.984375 69.390625 \nL 28.421875 72.90625 \nL 38.28125 72.90625 \nL 38.28125 8.296875 \nL 54.390625 8.296875 \nL 54.390625 0 \nL 12.40625 0 \nz\n\" id=\"DejaVuSans-49\"/>\n     <path d=\"M 8.015625 75.875 \nL 15.828125 75.875 \nQ 23.140625 64.359375 26.78125 53.3125 \nQ 30.421875 42.28125 30.421875 31.390625 \nQ 30.421875 20.453125 26.78125 9.375 \nQ 23.140625 -1.703125 15.828125 -13.1875 \nL 8.015625 -13.1875 \nQ 14.5 -2 17.703125 9.0625 \nQ 20.90625 20.125 20.90625 31.390625 \nQ 20.90625 42.671875 17.703125 53.65625 \nQ 14.5 64.65625 8.015625 75.875 \nz\n\" id=\"DejaVuSans-41\"/>\n    </defs>\n    <g transform=\"translate(466.294063 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-67\"/>\n     <use x=\"69.824219\" xlink:href=\"#DejaVuSans-97\"/>\n     <use x=\"131.103516\" xlink:href=\"#DejaVuSans-110\"/>\n     <use x=\"194.482422\" xlink:href=\"#DejaVuSans-110\"/>\n     <use x=\"257.861328\" xlink:href=\"#DejaVuSans-121\"/>\n     <use x=\"317.041016\" xlink:href=\"#DejaVuSans-40\"/>\n     <use x=\"356.054688\" xlink:href=\"#DejaVuSans-53\"/>\n     <use x=\"419.677734\" xlink:href=\"#DejaVuSans-48\"/>\n     <use x=\"483.300781\" xlink:href=\"#DejaVuSans-44\"/>\n     <use x=\"515.087891\" xlink:href=\"#DejaVuSans-32\"/>\n     <use x=\"546.875\" xlink:href=\"#DejaVuSans-49\"/>\n     <use x=\"610.498047\" xlink:href=\"#DejaVuSans-48\"/>\n     <use x=\"674.121094\" xlink:href=\"#DejaVuSans-48\"/>\n     <use x=\"737.744141\" xlink:href=\"#DejaVuSans-41\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_4\">\n   <g id=\"patch_17\">\n    <path d=\"M 634.12069 195.490539 \nL 807.293103 195.490539 \nL 807.293103 22.318125 \nL 634.12069 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#p1695022f39)\">\n    <image height=\"174\" id=\"imagee9cece8ab2\" transform=\"scale(1 -1)translate(0 -174)\" width=\"174\" x=\"634.12069\" xlink:href=\"data:image/png;base64,\niVBORw0KGgoAAAANSUhEUgAAAK4AAACuCAYAAACvDDbuAAAABHNCSVQICAgIfAhkiAAAA1JJREFUeJzt3cFu2kAUQFFT5f9/mS66iVSomJoZ5jrnrNMqhaunPo8xt+M47gfE/Pr0LwD/Q7gkCZck4ZIkXJKES5JwSRIuScIlSbgkfX36FziO47jf/z51vt1uL/3cs5/l2kxckoRLknBJEi5JWyxnZ7263HEdJi5JwiVJuCQJlyThkpS6qjBypeDZ8fDK34F5TFyShEuScEkSLkm3Y9NHMI0sVysXpllL3xWsfB9MXJKES5JwSRIuScIladurCiPObvqOccfscGXFxCVJuCQJlyThknSJ5eysHZaNWV59lFVtQTVxSRIuScIlSbgkCZekaVcVdr0R/Kc5+9DsXZm4JAmXJOGSJFySlj6C6dkSdoUjyKva9X0wcUkSLknCJUm4JG37fFwLG/9i4pIkXJKES5JwSRIuSVtcVbjC/aGsZeKSJFyShEuScEnaYjl71bOFzVHwz2PikiRckoRLknBJEi5J215VGDkG3vWmc8fW85i4JAmXJOGSJFyStl3OHhl5hNMOi9EOC+JZuy6+Ji5JwiVJuCQJlyThkrT0W3dWbqNuOv/j7Puw67cnmbgkCZck4ZIkXJK2OPJ9dQEY+c//OxaFXReTkYXr1fuaz/751UxckoRLknBJEi5JWyxnKxeA0mIy6/Rv5N+160mjiUuScEkSLknCJUm4JG1xVeGRK2y+Z418qnnWPba7MnFJEi5JwiVJuCRtu5yN+PQHM3dwduF6x73OK98HE5ck4ZIkXJKES5JwSfpauY0+M+NTvld2hdfhbHcmLknCJUm4JAmXpGnPx31kh/tpr3o8PPLarnwN3vGeP/o7TFyShEuScEkSLknCJWnoqsKnPx26w/b/6ddgtbOv+awrSSYuScIlSbgkCZek2/3ktvHp49rVdlgQZ3jHa3v2GHfk08MmLknCJUm4JAmXJOGStPRGcq5h1jHuyN9r4pIkXJKES5JwSRIuScIlSbgkCZck4ZIkXJKES5JwSRIuScIlSbgkuR+XYSOfCPZdvvCNcEkSLknCJenr078APSOPSnoHj2DiMoRLknBJEi5JwiXJVQWmOvsdw89+1sQlSbgkCZck4ZLkflymmvVtPiYuScIlSbgkCZck4ZLkqgJJJi5JwiVJuCQJl6TfZqbaaTJ+c2gAAAAASUVORK5CYII=\" y=\"-21.490539\"/>\n   </g>\n   <g id=\"patch_18\">\n    <path d=\"M 634.12069 195.490539 \nL 634.12069 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_19\">\n    <path d=\"M 807.293103 195.490539 \nL 807.293103 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_20\">\n    <path d=\"M 634.12069 195.490539 \nL 807.293103 195.490539 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_21\">\n    <path d=\"M 634.12069 22.318125 \nL 807.293103 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_4\">\n    <!-- Canny(150, 200) -->\n    <defs>\n     <path d=\"M 19.1875 8.296875 \nL 53.609375 8.296875 \nL 53.609375 0 \nL 7.328125 0 \nL 7.328125 8.296875 \nQ 12.9375 14.109375 22.625 23.890625 \nQ 32.328125 33.6875 34.8125 36.53125 \nQ 39.546875 41.84375 41.421875 45.53125 \nQ 43.3125 49.21875 43.3125 52.78125 \nQ 43.3125 58.59375 39.234375 62.25 \nQ 35.15625 65.921875 28.609375 65.921875 \nQ 23.96875 65.921875 18.8125 64.3125 \nQ 13.671875 62.703125 7.8125 59.421875 \nL 7.8125 69.390625 \nQ 13.765625 71.78125 18.9375 73 \nQ 24.125 74.21875 28.421875 74.21875 \nQ 39.75 74.21875 46.484375 68.546875 \nQ 53.21875 62.890625 53.21875 53.421875 \nQ 53.21875 48.921875 51.53125 44.890625 \nQ 49.859375 40.875 45.40625 35.40625 \nQ 44.1875 33.984375 37.640625 27.21875 \nQ 31.109375 20.453125 19.1875 8.296875 \nz\n\" id=\"DejaVuSans-50\"/>\n    </defs>\n    <g transform=\"translate(670.283459 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-67\"/>\n     <use x=\"69.824219\" xlink:href=\"#DejaVuSans-97\"/>\n     <use x=\"131.103516\" xlink:href=\"#DejaVuSans-110\"/>\n     <use x=\"194.482422\" xlink:href=\"#DejaVuSans-110\"/>\n     <use x=\"257.861328\" xlink:href=\"#DejaVuSans-121\"/>\n     <use x=\"317.041016\" xlink:href=\"#DejaVuSans-40\"/>\n     <use x=\"356.054688\" xlink:href=\"#DejaVuSans-49\"/>\n     <use x=\"419.677734\" xlink:href=\"#DejaVuSans-53\"/>\n     <use x=\"483.300781\" xlink:href=\"#DejaVuSans-48\"/>\n     <use x=\"546.923828\" xlink:href=\"#DejaVuSans-44\"/>\n     <use x=\"578.710938\" xlink:href=\"#DejaVuSans-32\"/>\n     <use x=\"610.498047\" xlink:href=\"#DejaVuSans-50\"/>\n     <use x=\"674.121094\" xlink:href=\"#DejaVuSans-48\"/>\n     <use x=\"737.744141\" xlink:href=\"#DejaVuSans-48\"/>\n     <use x=\"801.367188\" xlink:href=\"#DejaVuSans-41\"/>\n    </g>\n   </g>\n  </g>\n  <g id=\"axes_5\">\n   <g id=\"patch_22\">\n    <path d=\"M 841.927586 195.490539 \nL 1015.1 195.490539 \nL 1015.1 22.318125 \nL 841.927586 22.318125 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g clip-path=\"url(#pd0ce5fdbd6)\">\n    <image height=\"174\" id=\"image70fec162cc\" transform=\"scale(1 -1)translate(0 -174)\" width=\"174\" x=\"841.927586\" xlink:href=\"data:image/png;base64,\niVBORw0KGgoAAAANSUhEUgAAAK4AAACuCAYAAACvDDbuAAAABHNCSVQICAgIfAhkiAAAAxpJREFUeJzt3dFO20AQQFGn6v//Mn1FalKxddbMNec8A4rgaqTZDc7jOI6PA2J+ffcLgP8hXJKES5JwSRIuScIlSbgkCZck4ZIkXJJ+f/cLOI7j+Pj4+9b58Xh86etefS33ZuKSJFyShEuScEkasZyd9dXljvswcUkSLknCJUm4JAmXpNSpwspJwavr4StfA/uYuCQJlyThkiRckh7H0EcwrSxXVy5Mu5a+O7jy72DikiRckoRLknBJEi5JY08VVpzd9F3jrplwsmLikiRckoRLknBJusVydtaEZWOXrz7KqragmrgkCZck4ZIkXJKES9K2U4WpbwT/ac4+NHsqE5ck4ZIkXJKES9Klj2B6tYTd4Qryrqb+HUxckoRLknBJEi5JY5+Pa2HjX0xckoRLknBJEi5JwiVpxKnCHd4fyrVMXJKES5JwSRIuSSOWs696tbC5Cv55TFyShEuScEkSLknCJWnsqcLKNfDUN527tt7HxCVJuCQJlyThkjR2OXtm5RFOExajCQviWVMXXxOXJOGSJFyShEuScEm69FN3rtxGven8PaZ+epKJS5JwSRIuScIlaeyV79nlzhL2HlMfj2XikiRckoRLknBJEi5JwiVJuCQJlyThkiRcksZe+a5cNbre/XlMXJKES5JwSRIuSduWMwvTfa08CmtXByYuScIlSbgkCZck4ZK07VRhx4bppOI+zv6nsIlLknBJEi5JwiVp2/Nxn/F+2n1WfrdXXs2+42/+7GeYuCQJlyThkiRckoRL0ulThSsf8jvh9GHCQ42vdPZ3vuskycQlSbgkCZck4ZJ06ZXvWRMWowkL4g7v+N2evcZd+X4TlyThkiRckoRLknBJSp0qMMOua9yVn2vikiRckoRLknBJEi5JwiVJuCQJlyThkiRckoRLknBJEi5JwiVJuCR5Py7LVv4j2Gf5wifCJUm4JAmXpG0ficp9vVq4rnxElolLknBJEi5JwiVJuCQ5VWArn7oDnwiXJOGSJFySLGe8zbOFa9c1sIlLknBJEi5JwiVJuCT5L1+STFyShEuScEkSLkl/AOenoG5qGFKmAAAAAElFTkSuQmCC\" y=\"-21.490539\"/>\n   </g>\n   <g id=\"patch_23\">\n    <path d=\"M 841.927586 195.490539 \nL 841.927586 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_24\">\n    <path d=\"M 1015.1 195.490539 \nL 1015.1 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_25\">\n    <path d=\"M 841.927586 195.490539 \nL 1015.1 195.490539 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_26\">\n    <path d=\"M 841.927586 22.318125 \nL 1015.1 22.318125 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"text_5\">\n    <!-- Canny(250, 300) -->\n    <defs>\n     <path d=\"M 40.578125 39.3125 \nQ 47.65625 37.796875 51.625 33 \nQ 55.609375 28.21875 55.609375 21.1875 \nQ 55.609375 10.40625 48.1875 4.484375 \nQ 40.765625 -1.421875 27.09375 -1.421875 \nQ 22.515625 -1.421875 17.65625 -0.515625 \nQ 12.796875 0.390625 7.625 2.203125 \nL 7.625 11.71875 \nQ 11.71875 9.328125 16.59375 8.109375 \nQ 21.484375 6.890625 26.8125 6.890625 \nQ 36.078125 6.890625 40.9375 10.546875 \nQ 45.796875 14.203125 45.796875 21.1875 \nQ 45.796875 27.640625 41.28125 31.265625 \nQ 36.765625 34.90625 28.71875 34.90625 \nL 20.21875 34.90625 \nL 20.21875 43.015625 \nL 29.109375 43.015625 \nQ 36.375 43.015625 40.234375 45.921875 \nQ 44.09375 48.828125 44.09375 54.296875 \nQ 44.09375 59.90625 40.109375 62.90625 \nQ 36.140625 65.921875 28.71875 65.921875 \nQ 24.65625 65.921875 20.015625 65.03125 \nQ 15.375 64.15625 9.8125 62.3125 \nL 9.8125 71.09375 \nQ 15.4375 72.65625 20.34375 73.4375 \nQ 25.25 74.21875 29.59375 74.21875 \nQ 40.828125 74.21875 47.359375 69.109375 \nQ 53.90625 64.015625 53.90625 55.328125 \nQ 53.90625 49.265625 50.4375 45.09375 \nQ 46.96875 40.921875 40.578125 39.3125 \nz\n\" id=\"DejaVuSans-51\"/>\n    </defs>\n    <g transform=\"translate(878.090356 16.318125)scale(0.12 -0.12)\">\n     <use xlink:href=\"#DejaVuSans-67\"/>\n     <use x=\"69.824219\" xlink:href=\"#DejaVuSans-97\"/>\n     <use x=\"131.103516\" xlink:href=\"#DejaVuSans-110\"/>\n     <use x=\"194.482422\" xlink:href=\"#DejaVuSans-110\"/>\n     <use x=\"257.861328\" xlink:href=\"#DejaVuSans-121\"/>\n     <use x=\"317.041016\" xlink:href=\"#DejaVuSans-40\"/>\n     <use x=\"356.054688\" xlink:href=\"#DejaVuSans-50\"/>\n     <use x=\"419.677734\" xlink:href=\"#DejaVuSans-53\"/>\n     <use x=\"483.300781\" xlink:href=\"#DejaVuSans-48\"/>\n     <use x=\"546.923828\" xlink:href=\"#DejaVuSans-44\"/>\n     <use x=\"578.710938\" xlink:href=\"#DejaVuSans-32\"/>\n     <use x=\"610.498047\" xlink:href=\"#DejaVuSans-51\"/>\n     <use x=\"674.121094\" xlink:href=\"#DejaVuSans-48\"/>\n     <use x=\"737.744141\" xlink:href=\"#DejaVuSans-48\"/>\n     <use x=\"801.367188\" xlink:href=\"#DejaVuSans-41\"/>\n    </g>\n   </g>\n  </g>\n </g>\n <defs>\n  <clipPath id=\"pbc2372e242\">\n   <rect height=\"173.172414\" width=\"173.172414\" x=\"10.7\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"p4951e05736\">\n   <rect height=\"173.172414\" width=\"173.172414\" x=\"218.506897\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"pb74c8053dd\">\n   <rect height=\"173.172414\" width=\"173.172414\" x=\"426.313793\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"p1695022f39\">\n   <rect height=\"173.172414\" width=\"173.172414\" x=\"634.12069\" y=\"22.318125\"/>\n  </clipPath>\n  <clipPath id=\"pd0ce5fdbd6\">\n   <rect height=\"173.172414\" width=\"173.172414\" x=\"841.927586\" y=\"22.318125\"/>\n  </clipPath>\n </defs>\n</svg>\n",
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "8THSdt_hmwYh",
        "colab_type": "text"
      },
      "source": [
        "# Data Process\n",
        "\n",
        "在這裡我故意將data用成可以使用torchvision.ImageFolder的形式，所以只要使用該函式便可以做出一個datasets。\n",
        "\n",
        "transform的部分請參考以下註解。\n",
        "\n",
        "#### 一些細節\n",
        "\n",
        "在一般的版本上，對灰階圖片使用RandomRotation使用```transforms.RandomRotation(15)```即可。但在colab上需要加上```fill=(0,)```才可運行。\n",
        "在n98上執行需要把```fill=(0,)```拿掉才可運行。\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "WZHIBGknmi8Z",
        "colab_type": "code",
        "colab": {},
        "tags": []
      },
      "source": [
        "import numpy as np\n",
        "import torch\n",
        "import torch.nn as nn\n",
        "import torch.nn.functional as F\n",
        "from torch.autograd import Function\n",
        "\n",
        "import torch.optim as optim\n",
        "import torchvision.transforms as transforms\n",
        "from torchvision.datasets import ImageFolder\n",
        "from torch.utils.data import DataLoader\n",
        "\n",
        "source_transform = transforms.Compose([\n",
        "    # 轉灰階: Canny 不吃 RGB。\n",
        "    transforms.Grayscale(),\n",
        "    # cv2 不吃 skimage.Image，因此轉成np.array後再做cv2.Canny\n",
        "    transforms.Lambda(lambda x: cv2.Canny(np.array(x), 170, 300)),\n",
        "    # 重新將np.array 轉回 skimage.Image\n",
        "    transforms.ToPILImage(),\n",
        "    # 水平翻轉 (Augmentation)\n",
        "    transforms.RandomHorizontalFlip(),\n",
        "    # 旋轉15度內 (Augmentation)，旋轉後空的地方補0\n",
        "    transforms.RandomRotation(15),\n",
        "    # 最後轉成Tensor供model使用。\n",
        "    transforms.ToTensor(),\n",
        "])\n",
        "target_transform = transforms.Compose([\n",
        "    transforms.ToPILImage(),\n",
        "    # 轉灰階: 將輸入3維壓成1維。\n",
        "    transforms.Grayscale(),\n",
        "    # 縮放: 因為source data是32x32，我們將target data的28x28放大成32x32。\n",
        "    transforms.Resize((32, 32)),\n",
        "    # 水平翻轉 (Augmentation)\n",
        "    transforms.RandomHorizontalFlip(),\n",
        "    # 旋轉15度內 (Augmentation)，旋轉後空的地方補0\n",
        "    transforms.RandomRotation(15),\n",
        "    # 最後轉成Tensor供model使用。\n",
        "    transforms.ToTensor(),\n",
        "])\n",
        "\n",
        "import os\n",
        "class TestDataset(torch.utils.data.Dataset):\n",
        "  def __init__(self, root):\n",
        "    self.root = root\n",
        "    self.data = []\n",
        "    self.transform = target_transform\n",
        "    filenames = os.listdir(self.root)\n",
        "    for filename in filenames:\n",
        "        original_img = plt.imread(os.path.join(self.root, filename))\n",
        "        self.data.append(self.transform(original_img))\n",
        "    print (f'test dataset size: {len(self.data)}')\n",
        "\n",
        "  def __len__(self):\n",
        "      return len(self.data)\n",
        "\n",
        "  def __getitem__(self, index):\n",
        "      return self.data[index]\n",
        "\n",
        "source_dataset = ImageFolder('real_or_drawing/train_data', transform=source_transform)\n",
        "target_dataset = TestDataset('real_or_drawing/test_data')\n",
        "\n",
        "source_dataloader = DataLoader(source_dataset, batch_size=32, shuffle=True)\n",
        "target_dataloader = DataLoader(target_dataset, batch_size=32, shuffle=True)\n",
        "test_dataloader = DataLoader(target_dataset, batch_size=128, shuffle=False)"
      ],
      "execution_count": 46,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": "test dataset size: 100000\n"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "hdwDEMrOycs5",
        "colab_type": "text"
      },
      "source": [
        "# Model\n",
        "\n",
        "Feature Extractor: 典型的VGG-like疊法。\n",
        "\n",
        "Label Predictor / Domain Classifier: MLP到尾。\n",
        "\n",
        "相信作業寫到這邊大家對以下的Layer都很熟悉，因此不再贅述。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "3uw2eP09z-pD",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "class FeatureExtractor(nn.Module):\n",
        "    def __init__(self):\n",
        "        super(FeatureExtractor, self).__init__()\n",
        "\n",
        "        self.conv = nn.Sequential(\n",
        "            nn.Conv2d(1, 64, 3, 1, 1),\n",
        "            nn.BatchNorm2d(64),\n",
        "            nn.ReLU(),\n",
        "            nn.MaxPool2d(2),\n",
        "\n",
        "            nn.Conv2d(64, 128, 3, 1, 1),\n",
        "            nn.BatchNorm2d(128),\n",
        "            nn.ReLU(),\n",
        "            nn.MaxPool2d(2),\n",
        "\n",
        "            nn.Conv2d(128, 256, 3, 1, 1),\n",
        "            nn.BatchNorm2d(256),\n",
        "            nn.ReLU(),\n",
        "            nn.MaxPool2d(2),\n",
        "\n",
        "            nn.Conv2d(256, 256, 3, 1, 1),\n",
        "            nn.BatchNorm2d(256),\n",
        "            nn.ReLU(),\n",
        "            nn.MaxPool2d(2),\n",
        "\n",
        "            nn.Conv2d(256, 512, 3, 1, 1),\n",
        "            nn.BatchNorm2d(512),\n",
        "            nn.ReLU(),\n",
        "            nn.MaxPool2d(2)\n",
        "        )\n",
        "        \n",
        "    def forward(self, x):\n",
        "        x = self.conv(x).squeeze()\n",
        "        return x\n",
        "\n",
        "class LabelPredictor(nn.Module):\n",
        "    def __init__(self):\n",
        "        super(LabelPredictor, self).__init__()\n",
        "\n",
        "        self.layer = nn.Sequential(\n",
        "            nn.Linear(512, 512),\n",
        "            nn.ReLU(),\n",
        "            nn.Linear(512, 512),\n",
        "            nn.ReLU(),\n",
        "            nn.Linear(512, 10),\n",
        "        )\n",
        "\n",
        "    def forward(self, h):\n",
        "        c = self.layer(h)\n",
        "        return c\n",
        "\n",
        "class DomainClassifier(nn.Module):\n",
        "    def __init__(self):\n",
        "        super(DomainClassifier, self).__init__()\n",
        "\n",
        "        self.layer = nn.Sequential(\n",
        "            nn.Linear(512, 512),\n",
        "            nn.BatchNorm1d(512),\n",
        "            nn.ReLU(),\n",
        "\n",
        "            nn.Linear(512, 512),\n",
        "            nn.BatchNorm1d(512),\n",
        "            nn.ReLU(),\n",
        "\n",
        "            nn.Linear(512, 512),\n",
        "            nn.BatchNorm1d(512),\n",
        "            nn.ReLU(),\n",
        "\n",
        "            nn.Linear(512, 512),\n",
        "            nn.BatchNorm1d(512),\n",
        "            nn.ReLU(),\n",
        "\n",
        "            nn.Linear(512, 1),\n",
        "        )\n",
        "\n",
        "    def forward(self, h):\n",
        "        y = self.layer(h)\n",
        "        return y"
      ],
      "execution_count": 47,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "lxdBIPhF0Icb",
        "colab_type": "text"
      },
      "source": [
        "# Pre-processing\n",
        "\n",
        "這裡我們選用Adam來當Optimizer。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "hrxKelBy0PJ7",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "feature_extractor = FeatureExtractor().cuda()\n",
        "label_predictor = LabelPredictor().cuda()\n",
        "domain_classifier = DomainClassifier().cuda()\n",
        "\n",
        "class_criterion = nn.CrossEntropyLoss()\n",
        "domain_criterion = nn.BCEWithLogitsLoss()\n",
        "\n",
        "optimizer_F = optim.Adam(feature_extractor.parameters())\n",
        "optimizer_C = optim.Adam(label_predictor.parameters())\n",
        "optimizer_D = optim.Adam(domain_classifier.parameters())"
      ],
      "execution_count": 48,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "xuAE4cqJ0itR",
        "colab_type": "text"
      },
      "source": [
        "# Start Training\n",
        "\n",
        "\n",
        "## 如何實作DaNN?\n",
        "\n",
        "理論上，在原始paper中是加上Gradient Reversal Layer，並將Feature Extractor / Label Predictor / Domain Classifier 一起train，但其實我們也可以交換的train Domain Classfier & Feature Extractor(就像在train GAN的Generator & Discriminator一樣)，這也是可行的。\n",
        "\n",
        "在code實現中，我們採取後者的方式，畢竟大家上個作業就是GAN，應該會比較熟悉:)。\n",
        "\n",
        "## 小提醒\n",
        "* 原文中的lambda(控制Domain Adversarial Loss的係數)是有Adaptive的版本，如果有興趣可以參考[原文](https://arxiv.org/pdf/1505.07818.pdf)。以下為了方便固定設置0.1。\n",
        "* 因為我們完全沒有target的label，所以結果如何，只好丟kaggle看看囉:)?"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "lRAFFKvX0p9y",
        "colab_type": "code",
        "outputId": "eb1a0cd7-e2fd-49c2-e6c2-28d90b87a813",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "tags": []
      },
      "source": [
        "def train_epoch(source_dataloader, target_dataloader, lamb):\n",
        "    '''\n",
        "      Args:\n",
        "        source_dataloader: source data的dataloader\n",
        "        target_dataloader: target data的dataloader\n",
        "        lamb: 調控adversarial的loss係數。\n",
        "    '''\n",
        "    # D loss: Domain Classifier的loss\n",
        "    # F loss: Feature Extrator & Label Predictor的loss\n",
        "    # total_hit: 計算目前對了幾筆 total_num: 目前經過了幾筆\n",
        "    running_D_loss, running_F_loss = 0.0, 0.0\n",
        "    total_hit, total_num = 0.0, 0.0\n",
        "\n",
        "    for i, ((source_data, source_label), target_data) in enumerate(zip(source_dataloader, target_dataloader)):\n",
        "        source_data = source_data.cuda()\n",
        "        source_label = source_label.cuda()\n",
        "        target_data = target_data.cuda()\n",
        "        \n",
        "        # 我們把source data和target data混在一起，否則batch_norm可能會算錯 (兩邊的data的mean/var不太一樣)\n",
        "        mixed_data = torch.cat([source_data, target_data], dim=0)\n",
        "        domain_label = torch.zeros([source_data.shape[0] + target_data.shape[0], 1]).cuda()\n",
        "        # 設定source data的label為1\n",
        "        domain_label[:source_data.shape[0]] = 1\n",
        "\n",
        "        # Step 1 : 訓練Domain Classifier\n",
        "        feature = feature_extractor(mixed_data)\n",
        "        # 因為我們在Step 1不需要訓練Feature Extractor，所以把feature detach避免loss backprop上去。\n",
        "        domain_logits = domain_classifier(feature.detach())\n",
        "        loss = domain_criterion(domain_logits, domain_label)\n",
        "        running_D_loss += loss.item()\n",
        "        loss.backward()\n",
        "        optimizer_D.step()\n",
        "\n",
        "        # Step 2 : 訓練Feature Extractor和Domain Classifier\n",
        "        class_logits = label_predictor(feature[:source_data.shape[0]])\n",
        "        domain_logits = domain_classifier(feature)\n",
        "        # loss為原本的class CE - lamb * domain BCE，相減的原因同GAN中的Discriminator中的G loss。\n",
        "        loss = class_criterion(class_logits, source_label) - lamb * domain_criterion(domain_logits, domain_label)\n",
        "        running_F_loss += loss.item()\n",
        "        loss.backward()\n",
        "        optimizer_F.step()\n",
        "        optimizer_C.step()\n",
        "\n",
        "        optimizer_D.zero_grad()\n",
        "        optimizer_F.zero_grad()\n",
        "        optimizer_C.zero_grad()\n",
        "\n",
        "        total_hit += torch.sum(torch.argmax(class_logits, dim=1) == source_label).item()\n",
        "        total_num += source_data.shape[0]\n",
        "        print(i, end='\\r')\n",
        "\n",
        "    return running_D_loss / (i+1), running_F_loss / (i+1), total_hit / total_num\n",
        "\n",
        "# 訓練200 epochs\n",
        "for epoch in range(200):\n",
        "    train_D_loss, train_F_loss, train_acc = train_epoch(source_dataloader, target_dataloader, lamb=0.1)\n",
        "    torch.save(feature_extractor.state_dict(), f'extractor_model.bin')\n",
        "    torch.save(label_predictor.state_dict(), f'predictor_model.bin')\n",
        "    print('epoch {:>3d}: train D loss: {:6.4f}, train F loss: {:6.4f}, acc {:6.4f}'.format(epoch, train_D_loss, train_F_loss, train_acc))"
      ],
      "execution_count": 50,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": "epoch   0: train D loss: 0.6169, train F loss: 1.5282, acc 0.4392\nepoch   1: train D loss: 0.5540, train F loss: 1.4088, acc 0.4928\nepoch   2: train D loss: 0.5400, train F loss: 1.3517, acc 0.5072\n156epoch   3: train D loss: 0.5611, train F loss: 1.2677, acc 0.5408\nepoch   4: train D loss: 0.5515, train F loss: 1.2263, acc 0.5518\nepoch   5: train D loss: 0.5433, train F loss: 1.1990, acc 0.5584\nepoch   6: train D loss: 0.5568, train F loss: 1.1538, acc 0.5838\nepoch   7: train D loss: 0.5401, train F loss: 1.1325, acc 0.5972\nepoch   8: train D loss: 0.5518, train F loss: 1.0955, acc 0.5988\nepoch   9: train D loss: 0.5448, train F loss: 1.0312, acc 0.6216\nepoch  10: train D loss: 0.5463, train F loss: 1.0040, acc 0.6370\nepoch  11: train D loss: 0.5211, train F loss: 1.0064, acc 0.6316\nepoch  12: train D loss: 0.5199, train F loss: 0.9467, acc 0.6570\nepoch  13: train D loss: 0.5055, train F loss: 0.9348, acc 0.6550\nepoch  14: train D loss: 0.5165, train F loss: 0.8854, acc 0.6716\nepoch  15: train D loss: 0.5211, train F loss: 0.8525, acc 0.6872\nepoch  16: train D loss: 0.4916, train F loss: 0.8123, acc 0.6950\nepoch  17: train D loss: 0.4913, train F loss: 0.7916, acc 0.7048\nepoch  18: train D loss: 0.4900, train F loss: 0.7473, acc 0.7250\nepoch  19: train D loss: 0.4824, train F loss: 0.7116, acc 0.7408\nepoch  20: train D loss: 0.4888, train F loss: 0.7044, acc 0.7344\nepoch  21: train D loss: 0.4854, train F loss: 0.6694, acc 0.7498\nepoch  22: train D loss: 0.4816, train F loss: 0.6220, acc 0.7636\nepoch  23: train D loss: 0.4831, train F loss: 0.6139, acc 0.7732\nepoch  24: train D loss: 0.4598, train F loss: 0.5486, acc 0.8008\nepoch  25: train D loss: 0.4669, train F loss: 0.5501, acc 0.7944\nepoch  26: train D loss: 0.4620, train F loss: 0.5076, acc 0.8066\nepoch  27: train D loss: 0.4450, train F loss: 0.4767, acc 0.8228\nepoch  28: train D loss: 0.4516, train F loss: 0.4815, acc 0.8170\nepoch  29: train D loss: 0.4459, train F loss: 0.4275, acc 0.8356\nepoch  30: train D loss: 0.4465, train F loss: 0.4305, acc 0.8424\nepoch  31: train D loss: 0.4397, train F loss: 0.3892, acc 0.8524\nepoch  32: train D loss: 0.4272, train F loss: 0.3722, acc 0.8546\nepoch  33: train D loss: 0.4316, train F loss: 0.3518, acc 0.8658\nepoch  34: train D loss: 0.4275, train F loss: 0.3211, acc 0.8724\nepoch  35: train D loss: 0.4092, train F loss: 0.3193, acc 0.8782\nepoch  36: train D loss: 0.4096, train F loss: 0.3066, acc 0.8810\nepoch  37: train D loss: 0.4048, train F loss: 0.2819, acc 0.8890\nepoch  38: train D loss: 0.4110, train F loss: 0.2658, acc 0.8986\nepoch  39: train D loss: 0.4031, train F loss: 0.2711, acc 0.8956\nepoch  40: train D loss: 0.4094, train F loss: 0.2396, acc 0.9052\nepoch  41: train D loss: 0.4031, train F loss: 0.2416, acc 0.9068\nepoch  42: train D loss: 0.4090, train F loss: 0.2144, acc 0.9164\nepoch  43: train D loss: 0.3922, train F loss: 0.2436, acc 0.9080\nepoch  44: train D loss: 0.3960, train F loss: 0.1993, acc 0.9188\n37"
        },
        {
          "output_type": "error",
          "ename": "KeyboardInterrupt",
          "evalue": "",
          "traceback": [
            "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
            "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
            "\u001b[0;32m<ipython-input-50-2901376c446a>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     54\u001b[0m \u001b[0;31m# 訓練200 epochs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     55\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mepoch\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m200\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 56\u001b[0;31m     \u001b[0mtrain_D_loss\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtrain_F_loss\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtrain_acc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtrain_epoch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msource_dataloader\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget_dataloader\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlamb\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     58\u001b[0m     \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfeature_extractor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstate_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34mf'extractor_model.bin'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m<ipython-input-50-2901376c446a>\u001b[0m in \u001b[0;36mtrain_epoch\u001b[0;34m(source_dataloader, target_dataloader, lamb)\u001b[0m\n\u001b[1;32m     12\u001b[0m     \u001b[0mtotal_hit\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtotal_num\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0.0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0.0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     13\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m     \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msource_data\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msource_label\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget_data\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msource_dataloader\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget_dataloader\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     15\u001b[0m         \u001b[0msource_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msource_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     16\u001b[0m         \u001b[0msource_label\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msource_label\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m~/.local/lib/python3.6/site-packages/torch/utils/data/dataloader.py\u001b[0m in \u001b[0;36m__next__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    344\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__next__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    345\u001b[0m         \u001b[0mindex\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_next_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m  \u001b[0;31m# may raise StopIteration\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 346\u001b[0;31m         \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_dataset_fetcher\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfetch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m  \u001b[0;31m# may raise StopIteration\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    347\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_pin_memory\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    348\u001b[0m             \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_utils\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpin_memory\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpin_memory\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m~/.local/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py\u001b[0m in \u001b[0;36mfetch\u001b[0;34m(self, possibly_batched_index)\u001b[0m\n\u001b[1;32m     42\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mfetch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpossibly_batched_index\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     43\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mauto_collation\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 44\u001b[0;31m             \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdataset\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0midx\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0midx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mpossibly_batched_index\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     45\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     46\u001b[0m             \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdataset\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mpossibly_batched_index\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m~/.local/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m     42\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mfetch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpossibly_batched_index\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     43\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mauto_collation\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 44\u001b[0;31m             \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdataset\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0midx\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0midx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mpossibly_batched_index\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     45\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     46\u001b[0m             \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdataset\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mpossibly_batched_index\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m~/.local/lib/python3.6/site-packages/torchvision/datasets/folder.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, index)\u001b[0m\n\u001b[1;32m    136\u001b[0m         \"\"\"\n\u001b[1;32m    137\u001b[0m         \u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msamples\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 138\u001b[0;31m         \u001b[0msample\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    139\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransform\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    140\u001b[0m             \u001b[0msample\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msample\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m~/.local/lib/python3.6/site-packages/torchvision/datasets/folder.py\u001b[0m in \u001b[0;36mdefault_loader\u001b[0;34m(path)\u001b[0m\n\u001b[1;32m    172\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0maccimage_loader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    173\u001b[0m     \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 174\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mpil_loader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    175\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    176\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m~/.local/lib/python3.6/site-packages/torchvision/datasets/folder.py\u001b[0m in \u001b[0;36mpil_loader\u001b[0;34m(path)\u001b[0m\n\u001b[1;32m    154\u001b[0m     \u001b[0;31m# open path as file to avoid ResourceWarning (https://github.com/python-pillow/Pillow/issues/835)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    155\u001b[0m     \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'rb'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 156\u001b[0;31m         \u001b[0mimg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mImage\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    157\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mimg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconvert\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'RGB'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    158\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m~/anaconda3/envs/lxt/lib/python3.6/site-packages/PIL/Image.py\u001b[0m in \u001b[0;36mopen\u001b[0;34m(fp, mode)\u001b[0m\n\u001b[1;32m   2880\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2881\u001b[0m     \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2882\u001b[0;31m         \u001b[0mfp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mseek\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2883\u001b[0m     \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mAttributeError\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mUnsupportedOperation\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2884\u001b[0m         \u001b[0mfp\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mBytesIO\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "o8_-0iSSje4w",
        "colab_type": "text"
      },
      "source": [
        "# Inference\n",
        "\n",
        "就跟前幾次作業一樣。這裡我使用pd來生產csv，因為看起來比較潮(?)\n",
        "\n",
        "此外，200 epochs的Accuracy可能會不太穩定，可以多丟幾次或train久一點。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Wly5AgH2jePv",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "result = []\n",
        "label_predictor.eval()\n",
        "feature_extractor.eval()\n",
        "for i, test_data in enumerate(test_dataloader):\n",
        "    test_data = test_data.cuda()\n",
        "    class_logits = label_predictor(feature_extractor(test_data))\n",
        "    x = torch.argmax(class_logits, dim=1).cpu().detach().numpy()\n",
        "    result.append(x)\n",
        "\n",
        "import pandas as pd\n",
        "result = np.concatenate(result)\n",
        "\n",
        "df = pd.DataFrame({'id': np.arange(0,len(result)), 'label': result})\n",
        "df.to_csv('DaNN_submission.csv',index=False)"
      ],
      "execution_count": 51,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "s6UfXzef-wNl",
        "colab_type": "text"
      },
      "source": [
        "# Q&A\n",
        "\n",
        "有任何問題Domain Adaptation的問題可以寄信到b05902127@ntu.edu.tw / ntu-ml-2020spring-ta@googlegroups.com。\n",
        "\n",
        "時間允許的話我會更新在這裡。\n",
        "\n",
        "# Special Thanks\n",
        "這次的作業其實是我出在2019FALL的ML Final Project，以下是我認為在Final Report不錯的幾組，有興趣的話歡迎大家參考看看。\n",
        "\n",
        "[NTU_r08942071_太神啦 / 組長: 劉正仁同學](https://drive.google.com/open?id=11uNDcz7_eMS8dMQxvnWsbrdguu9k4c-c)\n",
        "\n",
        "[NTU_r08921a08_CAT / 組長: 廖子毅同學](https://drive.google.com/open?id=1xIkSs8HAShdcfV1E0NEnf4JDbL7POZTf)\n"
      ]
    }
  ]
}